Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 構文
  3. while文

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文

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

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。