カテゴリー
Perl

until文を知ろう

この章ではwhileとは機能が逆のuntil文について説明します。
while文は条件式がTRUEの時にブロック内を実行しますが、untilは条件式がFALSEの時にブロック内を実行します。
初めにuntilの条件式がTRUEなのかFALSEなのかをチェックしますがFALSEである場合にはuntilの処理文が実行され、TRUEである場合にはuntilの処理文は実行されません。1では例をみてみましょう。
11until ($i> 4)の条件式をif文と同じようにTRUEかFALSEで判定しますが、FALSEですので1を実行して、1を出力します。
TRUEであるならば何も出力されません。そして下の2に進みます。
11$iは上の2番の$i++で1が足されているので2になっています。
そして1の条件判定に入りますが、まだFALSEですので1を実行し、2を出力します。
11$iは上の4番の$i++で1が足されているので3になっています。
そして1の条件判定に入りますが、まだFALSEですので1を実行して、3を出力します。
11$iは上の6番の$i++で1が足されているので4になっています。
そして1の部分の条件判定に入りますが、まだFALSEですので、1を実行し、4を出力します。
11$iは上の8番の$i++で1が足されているので5になっています。
そして1の条件判定に入りますが、ここで初めてTRUEになりますのでループを終了します。
結果は「1234」です。
上の例をwhileで書き直してみると以下のようになります。1