TOP - Perl - redo

redoはループ処理のブロック内において、redo出現以降の処理を飛ばしてもう一度同じループ処理を繰り返します。
continueで指定されたブロックがある場合でも処理は実行されません。

(例)
$i = 0;
$j = 0;
while ($i < 5)
{
    print "$i : $j\n";
    $j++;                          # 本来のループ処理とは別のカウンタを用意
    if ($j > 5) {last;}            # 無限ループにならないように処理
    redo;                          # ここで再度同じループ処理に戻る
    print "ここは表示されない\n";
}
continue
{
    $i++;
    print "ここも表示されない\n";
}
実行結果
0 : 0
0 : 1
0 : 2
0 : 3
0 : 4
0 : 5


Copyright(C) 2006-2011 CLAYPOT. All Rights Reserved.