The documentation for "die" (in Perl 5.6.1) looks like this:
die LIST
Outside 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. This makes "die" the way to raise an
exception.
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
[...]
However, EXPR is not part of the signature for this function! I
suspect that in an earlier version, "die LIST" was "die EXPR". But
since it says LIST, the part that refers to EXPR should change. I
suggest "If the value of the last element of LIST does not end in a
newline" instead.
I don't have the latest Perl sources handy, so I can't supply a patch,
but it should be trivial for someone to construct one, I hope...
--Bill.
--
William R Ward [EMAIL PROTECTED] http://www.wards.net/~bill/
-----------------------------------------------------------------------------
If you're not part of the solution, you're part of the precipitate.