indietro

  • last ETICHETTA
  • last

    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.