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.