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(;;) 構造を使用することを好みます。