La goto
declaración en Perl es una declaración de salto que a veces también se conoce como declaración de salto incondicional. La goto
declaración se puede usar para saltar de cualquier lugar a cualquier lugar dentro de una función.
Sintaxis:
LABEL: Statement 1; Statement 2; . . . . . Statement n; goto LABEL;
En la sintaxis anterior, la goto
declaración indicará al compilador que vaya/salte inmediatamente a la declaración marcada como ETIQUETA. Aquí, la etiqueta es un identificador definido por el usuario que indica la declaración de destino. La declaración que sigue inmediatamente después de ‘etiqueta:’ es la declaración de destino. goto
La instrucción en Perl tiene tres formas: etiqueta, expresión y subrutina.
- Etiqueta: Simplemente saltará a la declaración marcada con la ETIQUETA, y continuará la ejecución desde esa declaración.
- Expresión: en este formulario, habrá una expresión que devolverá un nombre de etiqueta después de la evaluación e ir a hará que salte a la declaración etiquetada.
- Subrutina: goto transferirá el compilador a la subrutina del nombre dado desde la subrutina que se está ejecutando actualmente.
Sintaxis:
goto LABEL goto EXPRESSION goto Subroutine_Name
goto
Usando el nombre de ETIQUETA: El nombre de ETIQUETA se usa para saltar a una declaración específica en el código y comenzará la ejecución desde esa declaración. Aunque su alcance es limitado. Solo puede funcionar dentro del alcance desde donde se llama.
Ejemplo:
# Perl program to print numbers # from 1 to 10 using goto statement # function to print numbers from 1 to 10 sub printNumbers() { my $n = 1; label: print "$n "; $n++; if ($n <= 10) { goto label; } } # Driver Code printNumbers();
1 2 3 4 5 6 7 8 9 10
goto
usando Expression: Una expresión también se puede usar para dar una llamada a una etiqueta específica y pasar el control de ejecución a esa etiqueta. Esta expresión, cuando se pasa a la goto
declaración, se evalúa para generar un nombre de etiqueta y la ejecución continúa desde esa declaración definida por ese nombre de etiqueta.
Ejemplo:
# Perl program to print numbers # from 1 to 10 using the goto statement # Defining two strings # which contain # label name in parts $a = "lab"; $b = "el"; # function to print numbers from 1 to 10 sub printNumbers() { my $n = 1; label: print "$n "; $n++; if ($n <= 10) { # Passing Expression to label name goto $a.$b; } } # Driver Code printNumbers();
1 2 3 4 5 6 7 8 9 10
goto
usando Subrutina: También se puede llamar a una subrutina con el uso de la goto
declaración. Esta subrutina se llama desde dentro de otra subrutina o individualmente según su uso. Contiene el trabajo que se va a realizar junto a la declaración de llamada. Este método se puede usar para llamar a una función recursivamente para imprimir una serie o un rango de caracteres.
Ejemplo:
# Perl program to print numbers # from 1 to 10 using goto statement # function to print numbers from 1 to 10 sub label { print "$n "; $n++; if($n <= 10) { goto &label; } } # Driver Code my $n = 1; label();
1 2 3 4 5 6 7 8 9 10