redo LABEL
redo
コマンドは、条件を再評価しないで、LABEL
で指定したループのブロックの始めから再実行します。continue
ブロックがあっても実行されません。LABEL
が省略されると、最も内側のループが対象になります。
redoの使い方
# redo は条件を再評価せず実行するので、 # $i がマイナスになるまで出力されます $i = 5; LOOP1:while($i) { $i--; print "LOOP1:", $i, "\n"; print "exit\n", exit if $i < 0; # この行がないと永遠に続く redo LOOP1 if $i == 0; } > LOOP1:4 > LOOP1:3 > LOOP1:2 > LOOP1:1 > LOOP1:0 > LOOP1:-1