Perl instruction goto
Perl a trois formes de goto: obtenu LABLE, goto EXPR et goto & NOM:
Non. | Type goto |
---|---|
1 | goto LABEL Trouvez l'instruction LABEL marqué et ré-exécuté à partir de là. |
2 | goto EXPR goto EXPR forme goto LABEL est la forme générale. Il attend avec impatience une expression génère un nom de tag, et sauter à la marque à effectuer. |
3 | goto & NAME Il est un processus enfant en cours d'exécution avec un appel à un sous-processus nommés. |
grammaire
La syntaxe est la suivante:
goto LABEL 或 goto EXPR 或 goto &NAME
Diagramme
Exemples
Les deux exemples suivants dans la variable $ a est 15 hors de la sortie.
Ce qui suit est un exemple de goto couramment utilisés:
#/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 );
Le programme ci-dessus, le résultat est:
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19
L'exemple suivant utilise goto formulaire de EXPR. Nous avons utilisé deux chaînes et d'utiliser un point (.) Pour le lien.
$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 );
Le programme ci-dessus, le résultat est:
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19