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.

Reply via email to