indietro

  • exit ESPR
  • exit

    Valuta ESPR ed esce immediatamente con quel valore. Esempio:

        $risp = <STDIN>;
        exit 0 if $risp =~ /^[Xx]/;

    Date un'occhiata anche a die. Se ESPR viene omessa, esce con lo stato 0. I soli valori universalmente riconosciuti per ESPR sono 0 per il successo e 1 per l'errore; altri valori sono soggetti ad interpretazione in relazione all'ambiente nel quale il programma Perl è in esecuzione. Per esempio, uscire con un 69 (EX_UNAVAILABLE) da un filtro di sendmail per le mail in arrivo, provocherà, da parte del programma che spedisce le mail, la restituzione dell'oggetto che non è stato recapitato, ma questo non è vero dappertutto.

    Non usate exit per interrompere una subroutine se c'è una qualsiasi possibilità che qualcuno possa volere intercettare quale che sia l'errore capitato. Usate die invece, che può essere intercettato da un eval.

    La funzione exit() non esce sempre immediatamente. Essa chiama per prima una qualunque delle routine END definite, ma queste routine END non possono esse stesse interrompere l'uscita. Inoltre tutti i distruttori dell'oggetto che devono essere chiamati, sono chiamati prima dell'uscita vera e propria. Se questo fosse un problema, potete chiamare POSIX:_exit($stato) per evitare END e il processo di distruzione. Consultate perlmod per i dettagli.