Perl入門ゼミ

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

redo文 - 繰り返しの先頭に戻る

redo文を使うと繰り返しの先頭に戻ることができます。

redo

redoを使ったサンプルプログラムです。今いるループの先頭に戻っています。

use strict;
use warnings;

my @nums = (1, 2, 3);

while (1) {
  my $num = pop @nums;
  print "$num\n";
  
  if (@nums) {
    redo;
  }
  else {
    last;
  }
}

redoは非推奨の構文です

Perlの現代的な記述方法にも書いていますが、redo文は、お勧めしない記述方法です。

理由は、while, for, last, next、ifがあれば、あらゆる繰り返しと条件分岐が書けるので、redoを積極的に利用する理由がないからです。redoは、Perl独自の構文で、見慣れないものですし、ソースコードの見通しがよくなるというわけでもありません。

関連情報

redoのようにループを制御する構文としてnext文last文があります。

next文を使うとループの先頭にジャンプできる

next文を使うと、次のループの先頭に移動することができます。

next

next文については、以下の記事を参考にしてください。

last文を使うとループを脱出できる

last文を使うと、ループを抜けることができます。

last

last文については、以下の記事を参考にしてください。

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