die LIST
Outside of an eval(), prints the value of LIST to STDERR and exits with
the current value of $! (errno). If $! is 0, exits with the value of
($? >> 8) (backtick `command` status). If ($? >> 8) is 0,
exits with 255. Inside an eval(), the error message is stuffed into $@,
and the eval() is terminated with the undefined value.
Equivalent examples:
die "Can't cd to spool: $!\n" unless chdir '/usr/spool/news';
chdir '/usr/spool/news' or die "Can't cd to spool: $!\n"
If the value of EXPR does not end in a newline, the current script line
number and input line number (if any) are also printed, and a newline
is supplied. Hint: sometimes appending ", stopped" to your message
will cause it to make better sense when the string "at foo line 123" is
appended. Suppose you are running script "canasta".
die "/etc/games is no good";
die "/etc/games is no good, stopped";
produce, respectively
/etc/games is no good at canasta line 123.
/etc/games is no good, stopped at canasta line 123.
See also exit() and warn().
|
|
|