気の向くままに辿るIT/ICT/IoT
Perl

Perl do...while/do...until文/while/untilループ

ホーム前へ次へ
Perlのwhile/until文はどうやって書くの?

Perl do...while/do...until文/while/untilループ

Perl do...while/until文/反復・ループ

 Perlの反復・ループの構文には、条件が「真である間」ループするdo...while文と条件が「真になるまで」ループするdo...until文(何れもdoは省略可能)の他、forforeachがあります。

 do文を入れる場合は、while/until文の条件の真偽に関わらず、その前に必ず1度実行される為、初期値設定などに利用することができます。

while文

 while文は、条件が「一致している間」(条件が真の間)ループします。

 $i=0; 

 while ( $i < 5 ) {

    print "$i:Hello World!\n";

    $i++; 

 } 

 このwhileループの例では$iが「5より小さい間」、$iの値(0~4)とコロン[:]に続けてHello World!と出力されます。

 尚、Perlではこの場合、[ $i++; ]は、[ $i=$i+1; ]、[ $i+=1; ]としても同じです。

until文

 until文は、条件が「一致するまで」(条件が偽の間・真になるまで)ループします。

 $i=7; 

 until ( $i < 5 ) {

    print "$i:Hello World!\n";

    $i--; 

 } 

 このuntilループの例では$iが「5より小さくなるまで」、$iの値(7~5)とコロン[:]に続けてHello World!と出力されます。

 尚、Perlではこの場合、[ $i--; ]は、[ $i=$i-1; ]、[ $i-=1; ]としても同じです。

無限ループ/while文・until文

 while文、until文では、うっかりすると指定条件を間違えて、終わりのない、いわゆる無限ループに陥りますので注意が必要です。

 コマンドライン上で行っている場合には、ほとんどの場合[Ctrl]+[c]や[Ctrl]+[z]で終了や停止できますが、CGIスクリプトを実行した結果ブラウザ上で起きて、さぁ大変。。。なんてことにならないよう利用する際には、十分に留意する必要があります。

ホーム前へ次へ