Declaración de Perl goto
Perl admite un gotodeclaración. Hay tres formas: goto LABEL, goto EXPR y goto & NAME.
No Señor. | ir al tipo |
---|---|
1 | goto LABEL El formulario goto LABEL salta a la instrucción etiquetada con LABEL y reanuda la ejecución desde allí. |
2 | goto EXPR El formulario goto EXPR es solo una generalización de goto LABEL. Espera que la expresión devuelva un nombre de etiqueta y luego salta a esa declaración etiquetada. |
3 | goto &NAME Sustituye una llamada a la subrutina nombrada por la subrutina actualmente en ejecución. |
Sintaxis
La sintaxis de un goto declaraciones es la siguiente:
goto LABEL
or
goto EXPR
or
goto &NAME
Diagrama de flujo
Ejemplo
El siguiente programa muestra la forma más utilizada de goto declaración -
#/usr/local/bin/perl
$a = 10;
LOOP:do {
if( $a == 15) {
# skip the iteration.
$a = $a + 1;
# use goto LABEL form
goto LOOP;
}
print "Value of a = $a\n";
$a = $a + 1;
} while( $a < 20 );
Cuando se ejecuta el código anterior, produce el siguiente resultado:
Value of a = 10
Value of a = 11
Value of a = 12
Value of a = 13
Value of a = 14
Value of a = 16
Value of a = 17
Value of a = 18
Value of a = 19
El siguiente ejemplo muestra el uso del formulario goto EXPR. Aquí estamos usando dos cadenas y luego las concatenamos usando el operador de concatenación de cadenas (.). Finalmente, está formando una etiqueta y se usa goto para saltar a la etiqueta:
#/usr/local/bin/perl
$a = 10;
$str1 = "LO";
$str2 = "OP";
LOOP:do {
if( $a == 15) {
# skip the iteration.
$a = $a + 1;
# use goto EXPR form
goto $str1.$str2;
}
print "Value of a = $a\n";
$a = $a + 1;
} while( $a < 20 );
Cuando se ejecuta el código anterior, produce el siguiente resultado:
Value of a = 10
Value of a = 11
Value of a = 12
Value of a = 13
Value of a = 14
Value of a = 16
Value of a = 17
Value of a = 18
Value of a = 19