迴圈
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