Perlループ


場合によっては、同じコード ブロックを複数回実行する必要がある場合があります。通常、ステートメントは順番に実行されます。関数内の最初のステートメントが最初に実行され、次に 2 番目のステートメントが続きます。

このプログラミング言語は、より複雑な実行パスのためのさまざまな制御構造を提供します。

ループ ステートメントを使用すると、ステートメントまたはステートメント グループを複数回実行できます。以下は、ほとんどのプログラミング言語におけるループ ステートメントのフローチャートです。

循环结构

数値 0、文字列 '0'、"" に注意してください。 、空のリスト()、およびundefはfalse、その他の値はtrueです。 true の前に ! または not がある場合、false が返されます。

Perl 言語には、次のループ タイプが用意されています。

ループ タイプ 説明

while ループ

指定された条件が true の場合に、ステートメントまたはステートメントのグループを繰り返し実行します。条件はループ本体が実行される前にテストされます。

until ループ

は、指定された条件が true になるまで、ステートメントまたはステートメントのグループを繰り返し実行します。 条件はループ本体が実行される前にテストされます。

forループ

は、一連のステートメントを複数回実行し、ループ変数を管理するコードを簡素化します。

foreachループ

foreachループは、リストまたはセット変数の値を反復するために使用されます。

do...while ループ

は、ループ本体の最後で条件をテストする点を除けば while ステートメントと似ています。

ネストされたループ

while、for、do..while ループ内で 1 つ以上のループを使用できます。

ループ制御ステートメント

ループ制御ステートメントは、コードの実行順序を変更し、それによってコードのジャンプを実現できます。

Perl は次のループ制御ステートメントを提供します:

制御ステートメント説明

次のステートメント

次のステートメントの次のステートメントからループ本体識別子ステートメントの終わりまでの実行を停止します。 go で continue ステートメント ブロックを実行し、ループ本体の先頭に戻って次のループの実行を開始します。

最後のステートメント

ループステートメントブロックを終了し、ループを終了します。

Continueステートメント

Continueステートメントブロックは、通常、条件ステートメントが再度評価される前に実行されます。

redo ステートメント

redo ステートメントは、ループ本体の最初の行に直接移動し、このループの繰り返し実行を開始します。redo ステートメントの後のステートメントは実行されなくなり、 continue ステートメント ブロックも実行されなくなります。

goto ステートメント

Perl には、get LABLE、goto EXPR、goto &NAME の 3 つの goto 形式があります。

無限ループ

条件が false にならない場合、ループは無限ループになります。

for ループは、従来の意味での無限ループを実装するために使用できます。

ループを構成する 3 つの式はどれも必要ないため、条件式の一部を空のままにして無限ループを作成できます。

#!/usr/bin/perl
 
for( ; ; )
{
   printf "循环会无限执行。\n";
}

Ctrl + C キーを押してループを終了できます。

条件式が存在しない場合はtrueとみなされます 。初期値を設定して式を増分することもできますが、一般に Perl プログラマは無限ループを表すために for(;;) 構造を使用することを好みます。