Loose-Info.com
Last Update 2008/05/18
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