Perl 的 redo 语句



redo 命令重新启动循环块,而不再次求值条件。可以在 redo 语句中提供一个 LABEL,其中 LABEL 为循环的标签。如果没有指定 LABEL,则可以在嵌套循环内使用 redo 语句,它将适用于最邻近的循环。

如果循环上存在任何 continue 块,那么在求值条件之前将不会执行该块。

语法

redo 语句的语法如下 −

redo [LABEL]

流程图

Perl redo statement

示例

以下程序展示了 redo 语句的使用 −

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

这将产生以下结果 −

Value of a = 0
Value of a = 1
Value of a = 2
Value of a = 3
Value of a = 4
Value of a = 6
Value of a = 7
Value of a = 8
Value of a = 9
perl_loops.htm
广告