Instruction goto de Perl

Perl 循环Boucles Perl

gotoIl s'agit d'une instruction de contrôle de flux dans le langage de programmation Perl qui vous permet de faire sauter l'exécution du programme vers une étiquette spécifiée.

Perl possède troisgotoformes :goto LABLE, goto EXPR et goto &NAME:

Non.Type de goto
1goto LABEL

Trouvez l'instruction marquée comme LABEL et réexécutez à partir de là.

2goto EXPR

La forme goto EXPR est simplement une forme générale de goto LABEL. Elle s'attend à ce que l'expression génère un nom d'étiquette, et saute vers cette étiquette pour l'exécution.

3goto &NAME

Il remplace la sous-routine en cours d'exécution par un appel à une sous-routine nommée.

Syntaxe

Le format de la syntaxe est le suivant :

goto LABEL

ou 

goto EXPR

ou 

goto &NAME

Organigramme

Exemple

Les deux exemples suivants omettent la sortie lorsque la variable $a vaut 15.

Voici un exemple courant d'utilisation de goto :

Exemple

#/usr/bin/perl $a = 10; LOOP:do { if( $a == 15){ # Ignorer l'itération $a = $a + 1; # Utilisation de la forme goto LABEL print "Ignorer la sortie\n"; goto LOOP; print "Cette instruction ne sera pas exécutée.\n"; } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );

Exécutez le programme ci-dessus, et le résultat de sortie est :

a = 10
a = 11
a = 12
a = 13
a = 14
跳出输出 
a = 16
a = 17
a = 18
a = 19

L'exemple suivant utilise la forme goto EXPR. Nous avons utilisé deux chaînes et les avons concaténées avec l'opérateur point (.).

Exemple

$a = 10; $str1 = "LO"; $str2 = "OP"; LOOP:do { if( $a == 15){ # Ignorer l'itération $a = $a + 1; # Utilisation de la forme goto EXPR goto $str1.$str2; # Similaire à goto LOOP } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );

Exécutez le programme ci-dessus, et le résultat de sortie est :

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19

Remarque :L'utilisation de goto rend souvent le code difficile à comprendre et à maintenir. Par conséquent, dans la plupart des cas, vous devriez éviter de l'utiliser et essayer d'utiliser des instructions de contrôle de flux structurées (telles que if, else, while, for, etc.) pour écrire du code.

Perl 循环Boucles Perl

Autres extensions