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