Like Share Discussion Bookmark Smile

J.J. Huang   2021-03-12   Perl   瀏覽次數:次   DMCA.com Protection Status

Perl - 第九章 | Perl 循環

有的時候,我們可能需要多次執行同一塊程式碼。一般情況下,語句是按順序執行的:函數中的第一個語句先執行,接著是第二個語句,依此類推。

編程語言提供了更為複雜執行路徑的多種控制結構。

循環語句允許我們多次執行一個語句或語句組,下面是大多數編程語言中循環語句的流程圖:

Perl 語言提供了以下幾種循環類型:

循環類型 描述
while 循環 當給定條件為 true 時,重複執行語句或語句組。循環主體執行之前會先測試條件。
until 循環 重複執行語句或語句組,直到給定的條件為 true。循環主體執行之前會先測試條件。
for 循環 多次執行一個語句序列,簡化管理循環變量的程式碼。
foreach 循環 foreach 循環用於迭代一個列表或集合變量的值。
do…while 循環 除了它是在循環主體結尾測試條件外,其他與 while 語句類似。
嵌套循環 你可以在 while、for 或 do..while 循環內使用一個或多個循環。

循環控制語句

循環控制語句改變了程式碼的執行順序,通過它你可以實現程式碼的跳轉。

Perl 提供了下列的循環控制語句:

控制語句 描述
next 語句 停止執行從next語句的下一語句開始到循環體結束標識符之間的語句,轉去執行continue語句塊,然後再返回到循環體的起始處開始執行下一次循環。
last 語句 退出循環語句塊,從而結束循環
continue 語句 continue 語句塊通常在條件語句再次判斷前執行。
redo 語句 redo 語句直接轉到循環體的第一行開始重複執行本次循環,redo語句之後的語句不再執行,continue語句塊也不再執行;
goto 語句 Perl 有三種 goto 形式:got LABLE,goto EXPR,和 goto &NAME。

無限循環

如果條件永遠不會為假,則循環將變為無限循環。傳統上,for循環用於此目的。由於形成for循環的三個表達式都不是必需的,因此可以通過將條件表達式保留為空來進行無限循環。

1
2
3
4
5
#!/usr/local/bin/perl

for( ; ; ) {
printf "This loop will run forever.\n";
}

你可以通過按Ctrl + C鍵終止上述無限循環。

當條件表達式不存在時,假定它為真。你可能有一個初始化和增量表達式,但是作為程序員,更常見的是使用for(;;)構造來表示一個無限循環。


註:以上參考了
Tutorialspoint, Perl - Loops