Istruzione Perl goto

Perl supporta a gotodichiarazione. Sono disponibili tre forme: goto LABEL, goto EXPR e goto & NAME.

Sr.No. vai al tipo
1

goto LABEL

Il modulo goto LABEL salta all'istruzione etichettata con LABEL e riprende l'esecuzione da lì.

2

goto EXPR

Il modulo goto EXPR è solo una generalizzazione di goto LABEL. Si aspetta che l'espressione restituisca un nome di etichetta e quindi salta a quell'istruzione etichettata.

3

goto &NAME

Sostituisce una chiamata alla subroutine denominata per la subroutine attualmente in esecuzione.

Sintassi

La sintassi per a goto dichiarazioni è la seguente -

goto LABEL

or

goto EXPR

or

goto &NAME

Diagramma di flusso

Esempio

Il seguente programma mostra la forma di goto dichiarazione -

#/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 );

Quando il codice sopra viene eseguito, produce il seguente risultato:

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

L'esempio seguente mostra l'utilizzo del modulo goto EXPR. Qui stiamo usando due stringhe e poi le concateniamo usando l'operatore di concatenazione di stringhe (.). Infine, sta formando un'etichetta e goto viene utilizzato per passare all'etichetta -

#/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 );

Quando il codice sopra viene eseguito, produce il seguente risultato:

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