Nwlapcug.com


La differenza tra uscita & Die in Perl

La differenza tra uscita & Die in Perl


La natura di Perl significa che funzioni spesso formano parte di un altro comando, lavorando in background. Le funzioni "morire" e "uscita" è esempi di questo tipo di interazione. La funzione di "morire", infine, chiama "uscire" con un valore restituito. Il comando "exit" valuta un'espressione, se presente, prima di uscire il programma Perl con un valore restituito. L'espressione per il comando "exit" può essere parte di un'intera libreria di routine, e quindi si differenzia dal "die" nel rispetto che solo "morire" completa con una lista come parametro.

Comando di morire

La sintassi del comando die Perl è "die elenco." Un elenco è un elenco di valori come in questo esempio:

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

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

I valori di un elenco vengono emessi per lo standard error (STDERR), prima di chiamare uscita sullo sfondo.

Die liste e i valori di errore

Nel processo di chiamata il comando exit, die può fare uso del carattere speciale "$!." Si tratta di un valore di errore salvati dalle operazioni che si svolgono nel programma.

Nel comando:

Die "Impossibile cambiare directory per lo spooling: $! \n" a meno che chdir '/ usr/spool/notizie/ultime';

l'elenco è un singolo elemento contenente il valore "Impossibile cd per eseguire lo spooling: $! \n". Il $! valore contiene il codice di errore associato al comando e viene passato al comando di uscita.

Comando Esci

La sintassi per il comando di uscita è:

"uscita EXPR."

L'espressione viene valutata prima esistenti l'interprete (si noti la differenza con Perl die e "liste" rispetto al "espressioni" di uscita). Segue un esempio di un comando exit:

$ans = $a;

uscita 1 se $ans ~ = / test /;

Questo assegna un valore alla variabile "$ans" e si chiude il programma con lo stato 1 se il valore contiene la parola "test".

Valori di uscita interprete

Anche se l'uscita non restituisce un valore del comando, può specificare un valore restituito all'interprete come "exit 0". I programmi cercando il valore restituito si noti che in questo caso è 0.

Se la parte "EXPR" del comando non esiste, viene valutata con un valore, altrimenti si chiude con uno stato di zero. Uscita viene sempre eseguito anche se tutti i comandi e i pacchetti rimanenti prima del completamento. Si raccomanda che "uscita" non deve essere usato nelle subroutine, ma "return" o altri comandi utilizzati che non verrà chiuso il programma completamente.