循环
Perl 支持多种循环结构:for / foreach,while / do-while 和 until。
@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
print "$numbers[$i]\n";
}
#Can also be written as
foreach my $num (@numbers) {
print "$num\n";
}
while 循环在执行关联块之前评估条件。因此,有时块永远不会被执行。例如,如果文件句柄 $fh
是空文件的文件句柄,或者在条件之前已经用尽,则永远不会执行以下代码。
while (my $line = readline $fh) {
say $line;
}
另一方面,do
/ while
和 do
/ until
循环在每次执行块之后评估条件。因此,do
/ while
或 do
/ until
循环总是至少执行一次。
my $greeting_count = 0;
do {
say "Hello";
$greeting_count++;
} until ( $greeting_count > 1)
# Hello
# Hello