Latest web development tutorials

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循環