Perl ループ
時には、同じコードブロックを複数回実行する必要があるかもしれません。通常、文は順番に実行されます。関数内の最初の文が実行され、次に2番目の文、というように続きます。
プログラミング言語は、より複雑な実行経路のための複数の制御構造を提供します。
ループ文は、1つの文または文のグループを複数回実行することを可能にします。以下は、ほとんどのプログラミング言語におけるループ文のフローチャートです。

注意:数字 0、文字列 '0'、""、空リスト ()、および undef はfalse、その他の値はすべてtrue。true の前に使用! 或 notすると false を返します。
Perl 言語では以下の種類のループが提供されています:
| ループの種類 | 説明 |
|---|---|
| 与えられた条件が true の間、文または文のグループを繰り返し実行します。ループ本体の実行前に条件がテストされます。 | |
| 与えられた条件が true になるまで、文または文のグループを繰り返し実行します。ループ本体の実行前に条件がテストされます。 | |
| 文のシーケンスを複数回実行し、ループ変数を管理するコードを簡素化します。 | |
| foreach ループは、リストまたは集合変数の値を反復処理するために使用されます。 | |
| ループ本体の最後で条件をテストする点を除いて、while 文と似ています。 | |
| while、for、または do..while ループ内で 1 つ以上のループを使用できます。 |
ループ制御文
ループ制御文はコードの実行順序を変更し、それによってコードのジャンプを実現できます。
Perl は以下のループ制御文を提供します:
| 制御文 | 説明 |
|---|---|
| next 文の次の文からループ本体の終端識別子までの文の実行を停止し、continue 文ブロックを実行してから、ループ本体の開始位置に戻って次のループの実行を開始します。 | |
| ループ文ブロックを抜け出して、ループを終了します。 | |
| continue 文ブロックは、通常、条件文が再度評価される前に実行されます。 | |
| redo 文はループ本体の最初の行に直接移動して今回のループを繰り返し実行し、redo 文の後の文は実行されず、continue 文ブロックも実行されません。 | |
| Perl には 3 つの goto 形式があります: goto LABEL、goto EXPR、goto &NAME です。 |
無限ループ
条件が決して false にならない場合、ループは無限ループになります。
for ループは、従来の意味で無限ループを実装するために使用できます。
ループを構成する 3 つの式のいずれも必須ではないため、条件式を空のままにして無限ループを構成できます。
例
#!/usr/bin/perl
for( ; ; )
{
printf "ループは無限に実行されます。\n";
}
Ctrl + C キーを押すとループを終了できます。
条件式が存在しない場合、それは true と見なされます。初期値と増分式を設定することもできますが、一般的に Perl プログラマーは for(;;) 構造を使用して無限ループを表す傾向があります。
その他の拡張