Perlのgoto文
Perlはgoto文の3つの形式があります。LABLE、後藤EXPR、そして後藤&NAMEを得ました:
いいえ。 | goto文のタイプ |
---|---|
1 | goto文のLABEL ラベル付きLABELステートメントを見つけ、そこから再実行。 |
2 | 後藤EXPR 後藤EXPRのgoto LABELの形式は、一般的な形式です。 これは、タグ名を生成する式を楽しみにしていたし、マークへのジャンプが実行できるようにします。 |
3 | 後藤&NAME これは、という名前のサブプロセスを呼び出して実行している子プロセスです。 |
文法
構文は次のとおりです。
goto LABEL 或 goto EXPR 或 goto &NAME
フローチャート
例
変数$ aに次の2つの例では、出力のうち15です。
以下は、一般的に使用されるのgotoの例です:
#/usr/bin/perl $a = 10; LOOP:do { if( $a == 15){ # 跳过迭代 $a = $a + 1; # 使用 goto LABEL 形式 goto LOOP; } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );
上記のプログラムは、出力は次のようになります。
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19
次の例では、後藤EXPRフォームを使用しています。 我々は2つの文字列を使用してリンクするには、ドット(。)を使用します。
$a = 10; $str1 = "LO"; $str2 = "OP"; LOOP:do { if( $a == 15){ # 跳过迭代 $a = $a + 1; # 使用 goto EXPR 形式 goto $str1.$str2; # 类似 goto LOOP } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );
上記のプログラムは、出力は次のようになります。
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19