TOP - Perl - while

while文は次の書式となります。

while (条件式1) ブロック1

ブロック1 : 条件式1を評価した結果が真の場合に実行されるブロック。ブロック実行終了後、条件式1の評価に戻る


while (条件式1) ブロック1 continue ブロック2

ブロック1 : 条件式1を評価した結果が真の場合に実行されるブロック
ブロック2 : ブロック1に続き実行されるブロック。ブロック1の終わりに到達しない場合でも実行される

(例1)
$i = 0;
while ($i < 5)                     # $iが5未満の場合はブロック1を実行
{
    # ***** ブロック1 *****
    print "$i\n";
    $i++;                          # $iを1増加させる(重要!)
}
実行結果
0
1
2
3
4

(例2)
$i = 0;
while ($i < 5)                     # $iが5未満の場合はブロック1を実行
{
    # ***** ブロック1 *****
    print "$i\n";
}
continue
{
    # ***** ブロック2 *****        # ブロック1終了後実行される
    $i++;                          # $iを1増加させる(重要!)
}
実行結果
0
1
2
3
4

(例3)
$i = 0;
TEST: while ($i < 5)               # whileにラベルTESTを付ける
{
    # ***** ブロック1 *****
    print "$i\n";
    next TEST;                     # ここで次のループ処理へ移行
                                   # redoを使用した場合はブロック2は実行されない
    print "ここは表示されない\n";
}
continue
{
    # ***** ブロック2 *****        # ブロック1は終わりまで実行されないがここは実行される
    $i++;                          # $iを1増加させる(重要!)
}
実行結果
0
1
2
3
4


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