Fonction Perl goto

La description

Cette fonction a trois formes, la première forme le point d'exécution actuel pour sauter au point appelé LABEL. Un goto sous cette forme ne peut pas être utilisé pour sauter dans une boucle ou une fonction externe. Vous ne pouvez sauter qu'à un point dans la même portée.

Le second formulaire s'attend à ce que EXPR soit évalué à un LABEL reconnaissable. En général, vous devriez pouvoir utiliser une instruction ou une fonction conditionnelle normale pour contrôler l'exécution d'un programme, son utilisation est donc déconseillée.

La troisième forme substitue un appel au sous-programme nommé pour le sous-programme en cours d'exécution. Le nouveau sous-programme hérite de la pile d'arguments et d'autres fonctionnalités du sous-programme d'origine; il devient même impossible pour le nouveau sous-programme de savoir qu'il a été appelé par un autre nom.

Syntaxe

Voici la syntaxe simple de cette fonction -

goto LABEL

goto EXPR

goto &NAME

Valeur de retour

Cette fonction ne renvoie aucune valeur.

Exemple

Voici l'exemple de code montrant son utilisation de base -

#!/usr/bin/perl

$count = 0;

START:
$count = $count + 1;

if( $count > 4 ) {
   print "Exiting program\n";
} else {
   print "Count = $count, Jumping to START:\n";
   goto START;
}

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Count = 1, Jumping to START:
Count = 2, Jumping to START:
Count = 3, Jumping to START:
Count = 4, Jumping to START:
Exiting program