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.