http://www.perlmonks.org?node_id=1152252


in reply to loopy trouble

First you have to answer the question, is the amount of times to loop going to be known ahead of time or will it depend on some condition being met down the road? If the former, you generally use for loops, and you generally use while loops for the latter.

# find sum of first 100 digits my $sum = 0; for my $i (0 .. 99) { $sum += $i; }

# print lines from a file handle and stop when done while (my $line = <FILE>) { print $line; }

If you need to break out of a loop, you can use the last keyword

for (0 .. 99) { print "$_\n"; last if $_ == 42; }

Hope this helps!

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)