Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

(jeffa) Re: Of foreach loops and counting

by jeffa (Bishop)
on Aug 09, 2000 at 19:47 UTC ( #27074=note: print w/replies, xml ) Need Help??

in reply to Of foreach loops and counting

Hmm, if you need to keep track of iteration in a loop, then you should use for instead of foreach.
for (my $i=0; $i < $#array; $i++) { #print every third line print "$array[$i]\n" if (($i % 3)==0); #or even more consise print "$array[$i]\n" unless ($i%3); }
I know that for is a synonym for foreach, but I simply prefer to use a for construct if I am going to need the current iteration. Guess it's the C inside me. Oh, thanks to KM - I'll be more idiomatic next time. ;)

/me seeks Priest to exorcise evil C demons.

Replies are listed 'Best First'.
RE: Re: Of foreach loops and counting
by KM (Priest) on Aug 09, 2000 at 20:18 UTC
    I just wanted to comment that this is a very C like way of doing this, and is more idiomatically written as (or something similar as far as the loop construct):

    for (0..$#array) { print $array[$_]; }


RE: Re: Of foreach loops and counting
by eak (Monk) on Aug 09, 2000 at 20:08 UTC
    for is a synonym of foreach. you make the decision on which one to use based on readabilty, since both behave exactly the same.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2022-05-28 22:14 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (101 votes). Check out past polls.