last 一次只能跳出一層迴圈
語法:last
用例:
$i=0;
while ($i<=100) {
$i++;
last if ($i==10); # 當 $i 等於 10 時,跳出 while 結束迴圈。
print "$i\n";
}
若要一次跳出多層迴圈,必須採用標記:
語法:last 標記
用例:
#! /usr/bin/perl
$i=0;
$j=0;
OUT: while ($j<=100) {
$j++;
while ($i<=100) {
$i++;
last OUT if ($i==10); # 當 $i 等於 10 時,跳至最外圈。
print "$i\n";
}
print "我是 j : $j\n";
}
next
next 標記
用例:
$i=0;
while ($i<=100) {
$i++;
next if ($i==10); # 當 $i 等於 10 時,跳過去,不執行 print 的動作
print "Now is $i\n";
}
redo 表示剛剛執行的那一次不算,index 值不增加,重做一次!
redo
redo 標記
用例:
for ($i=1; $i<=100; $i++) {
print "請輸入數字 $i:";
chomp($keyin=<STDIN>);
if ($keyin != $i) { # 若打錯了,再要求重打一次
print "抱歉! 您打錯了! 是 $i 才對! 請重打一次!\n";
redo;
} else {
print "很好! 我喜歡!\n";
}
}
# 測試結果:
請輸入數字 1:1
請輸入數字 2:2
請輸入數字 3:3
請輸入數字 4:5
抱歉! 您打錯了! 是 4 才對! 請重打一次!
請輸入數字 4:6
抱歉! 您打錯了! 是 4 才對! 請重打一次!
請輸入數字 4:9
抱歉! 您打錯了! 是 4 才對! 請重打一次!
請輸入數字 4:10
抱歉! 您打錯了! 是 4 才對! 請重打一次!
請輸入數字 4:4
請輸入數字 5:5
請輸入數字 6:6
請輸入數字 7:7
請輸入數字 8:8
請輸入數字 9:9
|