迴圈

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 / whiledo / until 迴圈每次執行塊之後評估條件。因此,do / whiledo / until 迴圈總是至少執行一次。

my $greeting_count = 0;
do {
    say "Hello";
    $greeting_count++;
} until ( $greeting_count > 1)

# Hello
# Hello