La differenza tra Exit & Die in Perl

July 1

La differenza tra Exit & Die in Perl


La natura di Perl significa che le funzioni, spesso fanno parte di un altro comando, lavorando in background. Le funzioni di "morire" e "uscita" sono esempi di questo tipo di interazione. La funzione di "morire" in ultima analisi, chiama "uscita" con un valore di ritorno. Il comando "exit" valuta un'espressione, se ne esiste uno, prima di chiudere il programma Perl con un valore di ritorno. L'espressione per il comando "exit" può essere parte di una biblioteca di routine, e, quindi, differisce da "die" nel rispetto che "die" completa solo con una lista come parametro.

Die comando

La sintassi del comando Perl morire è "die LIST". Una lista è una lista di valori come in questo esempio:

@pippo = ($ a, $ b, $ c);

Il lato sinistro è un array Perl, ma il lato destro è un elenco di valori da assegnare alla matrice.

I valori di una lista sono uscita per l'errore standard (STDERR), prima di chiamare l'uscita in background.

Die valori di errore ed elenchi

Nel processo di chiamare il comando exit, morire può fare uso del carattere speciale "$ !." Si tratta di un valore di errore salvato da operazioni che hanno luogo nel programma.

Nel comando:

die "Impossibile cambiare directory in spool: $! \ n" a meno che chdir '/ usr / spool / news / ultime';

la lista è un singolo elemento contenente il valore "Impossibile cd di spool: $ \ n". Il $! valore contiene il codice di errore associato al comando, ed è passato al comando di uscita.

Uscita di comando

La sintassi per il comando di uscita è:

"Exit ESPR."

L'espressione viene valutata prima di esistere l'interprete (si noti la differenza con il Perl morire e "liste" rispetto per uscire "espressioni"). Un esempio di un comando di uscita segue:

$ Ans = $ a;

uscita 1 se $ ans ~ = / test /;

Questo assegna un valore alla variabile "$ ans" ed esce dal programma con uno stato di 1 se il valore contiene la parola "test".

Valori Exit Interprete

Anche se l'uscita non restituisce un valore dal comando, si può specificare un valore di ritorno di interprete come "exit 0" I programmi di ricerca per la nota valore di ritorno che è 0 in questo caso.

Se la parte "ESPRESSIONE" del comando esiste, viene valutata con un valore, altrimenti si chiude con uno stato zero. Exit corre sempre se tutti i restanti comandi e pacchetti prima di completare. Si raccomanda di "uscita" non deve essere usato in subroutine, ma "ritorno" o altri comandi utilizzati che non uscire completamente dal programma.