Il comando last è come l'istruzione break del C (che viene
utilizzata nei loop); esce immediatamente dal loop in questione. Se
l'ETICHETTA viene omessa, il comando fa riferimento al ciclo più
interno che la racchiude. Il blocco continue, se presente, non
viene eseguito:
LINEA: while (<STDIN>) {
last LINEA if /^$/; # esce alla fine degli header
#...
}
last non può essere utilizzato per uscire da un blocco che
restituisce un valore, come eval {}, sub {} o do {}, e non
dovrebbe essere utilizzato per uscire da un'operazione grep() o map().
Va notato che un blocco, in sé, è semanticamente
identico ad un loop che viene eseguito una volta sola. Quindi, last
può essere utilizzato per ottenere un'uscita anticipata da un
blocco.
Consultate anche continue per un esempio di come funzionano last, next
e redo.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!