Benjamin Goldberg: # There is indeed a clear need for it -- the values produced by $! (and by # the related $^E) are dual int/string values.
In Perl 5, yes. However, in Perl 6, $! is set for *all* exceptions, not just C<errno> errors, so I suspect that this behavior is no longer appropriate. (IIRC, C<errno> errors are unthrown exceptions--a normal exception object sits in $!, but it's never thrown.) I expect that in Perl 6 after an C<errno> error, $! will be set to an exception of class X::Errno (or something like it); that class may have overloaded prefix:+ and prefix:~ operators as necessary. --Brent Dax <[EMAIL PROTECTED]> Perl and Parrot hacker "Yeah, and my underwear is flame-retardant--that doesn't mean I'm gonna set myself on fire to prove it."