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