Beefy Boxes and Bandwidth Generously Provided by pair Networks Cowboy Neal with Hat
"be consistent"
 
PerlMonks  

Re^5: What is happening ?

by ikegami (Pope)
on Aug 19, 2009 at 14:38 UTC ( #789832=note: print w/ replies, xml ) Need Help??


in reply to Re^4: What is happening ?
in thread problem using foreach and each with hash ref

each is an iterator. Foreach loops works on list. You're asking if it's possible to cut a piece of wood with a screwdriver.

A foreach loop (whether using the for or foreach keyword) calls the list building expression once, and iterates over the resulting list.

A C-style for loop (whether using the for or foreach keyword) could, since it's really a while loop with bells and whistles.

Since you can probably cut a piece of wood with a screwdriver if you tried hard enough,

for my $pair ( sub { my @pairs; while (my ($k,$v) = each %h) { push @pairs, [$k,$v] } @pairs }->() ) { my ($k,$v) = @$pair; ... }
But using the appropriate tool is better.
while (my ($k,$v) = each %h) { ... }
or
for my $k (keys %h) { my $v = $h{$k}; ... }


Comment on Re^5: What is happening ?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://789832]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (9)
As of 2014-04-21 12:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (494 votes), past polls