For and Foreach Loops
For Loop
This has been for long the favorite loop of many programmers I know. For, what wouldn't a programmer give for for.
Syntaxfor(initialization ; condition ; next) {
body
}
For is extremely useful when you have to execute a given set of instruction a limited number of time with little or no changes. Lets see an example. How about a small program that will print out the multiplication tables.
#!/usr/local/bin/perl
#Multiplication table...
my $n=4; # We want the multiplication table of 4
for (my $i=1; $i<=10; $i++) {
my $ans = $i * $n;
print "$i x $n = $ans\n";
}
If you don't know these tables, I recommend that you take the time to learn it. It would come in handy when you are programming. Sometimes at least.
Foreach
Think of foreach as a 'for' for lazy programmers. With foreach one can access all items in a array one at a time.
Syntaxforeach $varaible (@array) {
body
}
The variable '$variable' have all the element of '@array' array one at a time. Let try a example...
#!/usr/local/bin/perl
print "New Year's Resolutions for Internet Junkies\n\n";
#Make a array with all the resolutions
my @resolutions = ("I will figure out why I *really* need 7 e-mail addresses.",
"I will stop sending e-mail to my wife.",
"I resolve to work with neglected children -- my own.",
"I will answer snail mail with same enthusiasm with which I answer my e-mail",
"I resolve to back up my hard drive daily...well,
once a week...okay, monthly then...or maybe...",
"I will spend less than one hour a day on the Internet.",
"When I hear 'Where do you want to go today?' I won't say 'MS Tech Support.'",
"I will read the manual.",
"I will think of a password other than \"password\".",
"I will stop checking my e-mail at 3:00 in the morning.");
foreach $plan (@resolutions) {
print "$plan\n";
}
This tiny program will print out all the resolutions one by one. In the first round, the first resolution will be stored in the "$plan" variable and printed. In the second round, it will be the second resolution and so on.

Comments
a, strong, em, b, i, code, pre, pandbrallowed. Other tags will be shown as code(< will become <). Urls, Line breaks will be auto-formated.