带标号修饰符LABEL的redo语句表示把循环控制流程直接转到与标号修饰符LABEL相关联的语句块的第一行处开始执行,而不再执行redo语句之后的语句和continue语句块; 不带标号修饰符LABEL的redo语句表示把循环控制流程直接转到当前语句块的第一行处开始执行,而不再执行redo语句之后的语句和continue语句块; 如果是在for循环中或...
如果条件永远不会为假,则循环将变为无限循环。传统上, for 循环用于此目的。由于不需要构成 for 循环的三个表达式,因此您可以通过将条件表达式保留为空来进行无限循环。 #!/usr/local/bin/perl for( ; ; ) { printf "This loop will run forever.\n"; } 1. 2. 3. 4. 5. 您可以通过按Ctrl + C键...
退出循环为last,与C中的break作用相同;执行下一个循环为next,与C中的continue作用相同;PERL特有的一个命令是redo,其含义是重复此次循环,即循环变量不变,回到循环起始点,但要注意,redo命令在do循环中不起作用。
for $i (0..10) {Code Segment} # while控制回圈和後置回圈。 while($i<=10) {Code Segment} do {Code Segment} while(Expression); # Perl也有和C语言的break和continue一样的指令,Perl叫它做 last 和 next (较口语化)。 # last是跳出现在所在的回圈,next则是跳过下面的指令直接执行下一次的回圈。
{redo loop_label;} }'(4)continue用法 [oracle@localhost ~]$ perl -e' > for ($a=1;$a<8;$a++) > {print $a;} > ' 1234567 [oracle@localhost ~]$ [oracle@localhost ~]$ [oracle@localhost ~]$ perl -e' > $a=1; > while($a<8) ...
For Loops Perl's C-style "for" loop works like the corresponding "while" loop; that means that this: for ($i = 1; $i < 10; $i++) { ... } is the same as this: $i = 1; while ($i < 10) { ... } continue { $i++; } There is one minor difference: if variables are...
for $i (0..10) {Code Segment} # while控制迴圈和後置迴圈。 while($i<=10) {Code Segment} do {Code Segment} while(Expression); # Perl也有和C語言的break和continue一樣的指令,Perl叫它做 last 和 next (較口語化)。 # last是跳出現在所在的迴圈,next則是跳過下面的指令直接執行下一次的迴圈。
foreach$number (0..5) { say"Starting $number";lastif$number>3; say"\$number is $number"; say"Ending $number"; } say'Past the loop'; You start the block for element3but end the loop there and continue the program after the loop: ...
This trivial example prints the value of each argument passed to the shell script. Translated to English, thewhilecondition says to continue so long as the input argument string is not null. You might think that this loop would continue to print the first argument$ARGV[0]forever and ever, ...
proceed 相当于 continue, 不像 C 里面的 falling through, Perl 6 里面的 proceed 在继续执行 when 语句时会计算 when 后面的条件when 可以作为语句修饰符单独使用doit() when 42 等价于doit() when $_ ~~ 42 这在列表解析里面很有用my @lucky = ($_ when /7/ for 1..100); 7 17 27 37 47 57...