Perl redo 語句
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