天天看點

Perl 循環

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

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

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

Perl 循環
注意,數字 0, 字元串 '0' 、 "" , 空 list () , 和 undef 為 <b>false</b> ,其他值均為 <b>true</b>。 true 前面使用 <b>!</b> 或 <b>not</b>則傳回 false 。

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 &amp;NAME。

如果條件永遠不為 false,則循環将變成無限循環。

for 循環在傳統意義上可用于實作無限循環。

由于構成循環的三個表達式中任何一個都不是必需的,您可以将某些條件表達式留白來構成一個無限循環。

#!/usr/bin/perl

for( ; ; )

{

printf "循環會無限執行。\n";

}

你可以按下 Ctrl + C 鍵來終止循環。

當條件表達式不存在時,它被假設為 true

。您也可以設定一個初始值和增量表達式,但是一般情況下,Perl 程式員偏向于使用 for(;;) 結構來表示一個無限循環。