(本文參考部落格)
注意,數字 0, 字串 '0' 、 "" , 空 list () , 和 undef 為 false ,其他值均為 true。 true 前面使用 ! 或 not則返回 false。
while 語句在給定條件為 true 時,重複執行語句或語句組。迴圈主體執行之前會先測試條件。
while(condition)
until 語句在給定條件為 false 時,重複執行語句或語句組。
until(condition)
perl for 迴圈用於多次執行乙個語句序列,簡化管理迴圈變數的**。
for ( init; condition; increment )
下面是 for 迴圈的控制流程解析:
init會首先被執行,且只會執行一次。這一步允許您宣告並初始化任何迴圈控制變數。您也可以不在這裡寫任何語句,只要有乙個分號出現即可。
接下來,會判斷 condition。如果為 true,則執行迴圈主體。如果為 false,則不執行迴圈主體,且控制流會跳轉到緊接著 for 迴圈的下一條語句。
在執行完 for 迴圈主體後,控制流會跳回上面的increment語句。該語句允許您更新迴圈控制變數。該語句可以留空,只要在條件後有乙個分號出現即可。
條件再次被判斷。如果為 true,則執行迴圈,這個過程會不斷重複(迴圈主體,然後增加步值,再然後重新判斷條件)。在條件變為 false 時,for 迴圈終止。
在這裡,statement(s) 可以是乙個單獨的語句,也可以是幾個語句組成的**塊。
condition 可以是任意的表示式,當條件為 true 時執行迴圈,當條件為 false 時,退出迴圈。
perl foreach 迴圈用於迭代乙個列表或集合變數的值。
foreach var (list)
#!/usr/bin/perl
@list = (2, 12, 36, 42, 51);
# 執行foreach 迴圈
foreach $a (@list)
a 的值為: 2
a 的值為: 12
a 的值為: 36
a 的值為: 42
a 的值為: 51
不像for和while迴圈,它們是在迴圈頭部測試迴圈條件。在 perl 語言中,do...while迴圈是在迴圈的尾部檢查它的條件。
do...while迴圈與 while 迴圈類似,但是 do...while 迴圈會確保至少執行一次迴圈。
do
while( condition );
請注意,條件表示式出現在迴圈的尾部,所以迴圈中的 statement(s) 會在條件被測試之前至少執行一次。
如果條件為 true,控制流會跳轉回上面的 do,然後重新執行迴圈中的 statement(s)。這個過程會不斷重複,直到給定條件變為 false 為止。
具體問題具體分析。應該是都會,注意迴圈的次序。
如果條件永遠不為 false,則迴圈將變成無限迴圈。
for 迴圈在傳統意義上可用於實現無限迴圈。
由於構成迴圈的三個表示式中任何乙個都不是必需的,您可以將某些條件表示式留空來構成乙個無限迴圈。
#!/usr/bin/perl
for( ; ; )
注意:你可以按下 ctrl + c 鍵來終止迴圈。
一般情況下,perl 程式設計師偏向於使用 for( ; ; ) 結構來表示乙個無限迴圈。
next 語句
停止執行從next語句的下一語句開始到迴圈體結束識別符號之間的語句,轉去執行continue語句塊,然後再返回到迴圈體的起始處開始執行下一次迴圈。
last 語句
退出迴圈語句塊,從而結束迴圈
continue 語句
continue 語句塊通常在條件語句再次判斷前執行。
redo 語句
redo 語句直接轉到迴圈體的第一行開始重複執行本次迴圈,redo語句之後的語句不再執行,continue語句塊也不再執行;
goto 語句
perl 有三種 goto 形式:got lable,goto expr,和 goto &name。
next [ label ];
其中 label 是可選的,如果沒有指定 label,next 語句將返回到迴圈體的起始處開始執行下一次迴圈。
#!/usr/bin/perl
$a = 10;
while( $a < 20 )
print "a 的值為: $a\n";
$a = $a + 1;
}執行以上程式,輸出結果為:
a 的值為: 10
a 的值為: 11
a 的值為: 12
a 的值為: 13
a 的值為: 14
a 的值為: 16
a 的值為: 17
a 的值為: 18
a 的值為: 19
last [label];
perl last 語句用於退出迴圈語句塊,從而結束迴圈,last語句之後的語句不再執行,continue語句塊也不再執行。
#!/usr/bin/perl
$a = 10;
while( $a < 20 )
print "a 的值為: $a\n";
$a = $a + 1;
}執行以上程式,輸出結果為:
a 的值為: 10
a 的值為: 11
a 的值為: 12
a 的值為: 13
a 的值為: 14
perl continue 塊通常在條件語句再次判斷前執行。
continue 語句可用在 while 和 foreach 迴圈中。
while(condition)continue
#/usr/bin/perl
$a = 0;
while($a < 3)continue
執行以上程式,輸出結果為:
a = 0
a = 1
a = 2
perl redo 語句直接轉到迴圈體的第一行開始重複執行本次迴圈,redo語句之後的語句不再執行,continue語句塊也不再執行。
continue 語句可用在 while 和 foreach 迴圈中。
redo [label]
#/usr/bin/perl
$a = 0;
while($a < 10)
print "a = $a\n";
}continue
執行以上程式,輸出結果為:
a = 0
a = 1
a = 2
a = 3
a = 4
a = 6
a = 7
a = 8
a = 9
perl 有三種 goto 形式:got lable,goto expr,和 goto &name:
1goto label找出標記為 label 的語句並且從那裡重新執行。
2goto exprgoto expr 形式只是 goto label 的一般形式。它期待表示式生成乙個標記名稱,並跳到該標記處執行。
3goto &name它把正 在執行著的子程序替換為乙個已命名子程序的呼叫。
1.8.5.1 goto lable示例:
#/usr/bin/perl
$a = 10;
loop:do
print "a = $a\n";
$a = $a + 1;
}while( $a < 20 );
執行以上程式,輸出結果為:
a = 10
a = 11
a = 12
a = 13
a = 14
跳出輸出
a = 16
a = 17
a = 18
a = 19
1.8.5.2 goto expr示例
$a = 10;
$str1 = "lo";
$str2 = "op";
loop:do
print "a = $a\n";
$a = $a + 1;
}while( $a < 20 );
執行以上程式,輸出結果為:
a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19
Perl 迴圈語句
while迴圈語法 while some expression 程式執行到while語句時,首先檢查控制語句 some expression 若其值為真,就會執行迴圈體一次,如此反覆不停的執行,知道控制語句的值為假,則停止while迴圈 示例 usr bin perl w number 10 whi...
C語言高階 迴圈語句07
迴圈語句的基本工作方式 do,while,for的區別 do.while語句的迴圈方式 do while condition while 語句的迴圈方式 while condition for語句的迴圈方式 for 初始化 condition 對條件值的改變 程式示例1 include int f1...
自學篇 迴圈語句應用(二)
具體的語法就不說了,主要就是運用for迴圈語句。1.列印99乘法表,雖然很老套但是能幫助理解for語句.例 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 ...