Perl/Istruzioni etichetta


EtichettaModifica

Le etichette individuano una istruzione o un blocco. Le etichette da sole non servono molto, ma con dei costrutti particolari come goto, redo, next, last è possibile sfruttare meglio le loro potenzialità:

<ETICHETTA>:<istruzione>
<ETICHETTA>:{
            ... istruzioni ...
            }

per esempio è possibile:

 ETICHETTA_UNO: print "etichetta uno\n";

 ETICHETTA_DUE: 
 {
    print "etichetta due\n";
 }

 my $b = 15;
 ETICHETTA_TRE : while ( $b < 20 )
                 {
                     print " etichetta tre ($b)\n"; 
                     $b++;
                 }

In questo modo, un blocco o una istruzione "assume" un nome (un'etichetta). Questo non deve essere confuso con il nome di una funzione.

NOTA TECNICA: ha fatto la sua comparsa la parola chiave my; questa parola serve per delimitare la zona di validità (lo scope) della variabile (in questo caso) o di una funzione, a quella in cui viene dichiarata. In pratica, in un altro contesto del programma, questa variabile non sarà accessibile.

Goto (da non usare)Modifica

Come dice il manuale del Perl, l'uso del goto non è per nulla consigliato, anzi deve essere limitato. Il suo uso "mal accettato" è quello di indicare una ETICHETTA. In questo modo il programma "torna" o "va" al punto indicato. Poiché, appunto, se ne sconsiglia l'uso, non verranno dedicate ulteriori righe a questa istruzione.