小兔网

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语句块都不再被执行;

流程图

2021071307145115276091

实例

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

执行以上程序,输出结果为:

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

Perl 循环 Perl 循环