On 24 Aug 2000 16:03:56 -0000, Perl6 RFC Librarian wrote:
>Merge C<$!>, C<$^E>, and C<$@>
Merging $! and $^E makes perfect sense to me. I don't know why there are
two different error variables. Er... wasn't that three? I'm not
absolutely certain, but I thought there was a third one, too. <time
passes...> Oh yes: $? AKA $CHILD_ERROR. Throw that in as well.
But $@ is an entirley different beast.
eval {
open ",^#!" or die "Cannot open file: $!"
};
print $@;
$@ contains the whole user provided string, possibly including script
file name, line number and input record number. But $! is just the "file
does not exist" string. Two different things.
--
Bart.