while文 - 繰り返し処理を行う



  1. Perl




  2. 構文



  3. while文

while文を使うと繰り返し処理を記述することができます。条件が真の間ブロックの中身を繰り返します。

while (条件) {
  ...
}

0〜2までの数値を出力

while文を使用して0〜2までの数値を出力するサンプルです。while文の最後で変数「$i」をインクリメントしています。「$i」が3になると、条件が偽となるので、whileから抜けます。

# 0〜2まで数値を出力
my $i = 0;
while ($i <= 2) {
  print "$i\n";
  $i++;
}

while文で繰り返しの処理すべてを記述することができますが。for文で記述できる場合は、for文を使って書いたほうがきれいに書けます。

for (my $i = 0; $i <= 2; $i++) {
  print "$i\n";
}

無限ループを使ったサンプル

whileのよく使う例としては、無限ループの記述があります。条件に1を記述すると、ループが永遠に繰り返されます。

while (1) {
  ...
}

ループを脱出するには、last文を使用します。

以下の例では、配列の要素をpop関数でひとつづつ取り除いていって、配列の要素がなくなった場合に、lastを使ってwhileを抜けるようにしています。

my @nums = (1, 2, 3);
while (1) {
  if (@nums) {
    pop @nums;
  }
  else {
    last;
  }
}

参考: if文

繰り返し処理については、以下で詳しく解説しています。