Perl - 迴圈



可能會有這樣的情況:你需要多次執行一段程式碼塊。通常情況下,語句是順序執行的:函式中的第一個語句先執行,然後是第二個,依次類推。

程式語言提供各種控制結構,允許更復雜的執行路徑。

迴圈語句允許我們多次執行一個語句或一組語句,以下是大多數程式語言中迴圈語句的一般形式:

Loop Architecture in Perl

Perl 程式語言提供以下型別的迴圈來處理迴圈需求。

序號 迴圈型別和描述
1 while 迴圈

在給定條件為真時重複執行語句或語句組。它在執行迴圈體之前測試條件。

2 until 迴圈

重複執行語句或語句組,直到給定條件變為真。它在執行迴圈體之前測試條件。

3 for 迴圈

多次執行一系列語句,並縮寫管理迴圈變數的程式碼。

4 foreach 迴圈

foreach 迴圈迭代一個普通列表值,並將變數 VAR 設定為列表中每個元素。

5 do...while 迴圈

類似於 while 語句,只是它在迴圈體結束時測試條件。

6 巢狀迴圈

你可以在任何其他 while、for 或 do..while 迴圈內使用一個或多個迴圈。

迴圈控制語句

迴圈控制語句改變執行的正常順序。當執行離開作用域時,在該作用域中建立的所有自動物件都會被銷燬。

Perl 支援以下控制語句。點選以下連結檢視它們的詳細資訊。

序號 控制語句和描述
1 next 語句

導致迴圈跳過其主體其餘部分,並在立即重新迭代之前立即重新測試其條件。

2 last 語句

終止迴圈語句並將執行轉移到迴圈後緊跟的語句。

3 continue 語句

一個 continue 塊,它總是在條件即將再次被評估之前執行。

4 redo 語句

redo 命令重新啟動迴圈塊,而無需再次評估條件。不會執行 continue 塊(如果有)。

5 goto 語句

Perl 支援具有三種形式的 goto 命令:goto label、goto expr 和 goto &name。

無限迴圈

如果條件永不變成假,則迴圈變成無限迴圈。for 迴圈傳統上用於此目的。由於構成for 迴圈的三個表示式都不是必需的,因此您可以透過將條件表示式留空來建立一個無限迴圈。

#!/usr/local/bin/perl
 
for( ; ; ) {
   printf "This loop will run forever.\n";
}

您可以透過按 Ctrl + C 鍵來終止上述無限迴圈。

當條件表示式不存在時,它被認為是真。你可能有一個初始化和增量表達式,但作為一個程式設計師更常見的是使用 for (;;) 結構來表示無限迴圈。

廣告