Perl redo 語句

Perl 迴圈 Perl 迴圈

Perl redo 語句直接轉到循環體的第一行開始重複執行本次迴圈,redo語句之後的語句不再執行,continue語句塊也不再執行。

continue 語句可用在 while 和 foreach 迴圈中。

語法

語法格式如下所示:

redo [LABEL]

其中 LABEL 是可選的。

帶標號修飾符LABEL的redo語句表示把迴圈控制流程直接轉到與標號修飾符LABEL相關聯的語句塊的第一行處開始執行,而不再執行redo語句之後的語句和continue語句塊;

不帶標號修飾符LABEL的redo語句表示把迴圈控制流程直接轉到當前語句塊的第一行處開始執行,而不再執行redo語句之後的語句和continue語句塊;

如果是在for迴圈中或者是帶有continue語句塊,則for迴圈中的遞增列表和continue語句塊都不再被執行;

流程圖

實例

#/usr/bin/perl $a = 0; while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print "a = $a\n"; }continue{ $a = $a + 1; }

執行以上程式,輸出結果為:

a = 0
a = 1
a = 2
a = 3
a = 4
a = 6
a = 7
a = 8
a = 9

Perl 迴圈 Perl 迴圈