Errno-AnyString
view release on metacpan or search on metacpan
lib/Errno/AnyString.pm view on Meta::CPAN
Errno::AnyString works by adding two instances of uvar magic to C<$!>, one at the head of the list and one at the tail. It does not modify or remove any existing magic from C<$!>. It should inter-operate cleanly with anything else that adds more magi...
Emptying the C<%Errno::AnyString::Errno2Errstr> hash effectively turns off this module's interference with C<$!>, so you can get a "real" C<$!> value with:
my $e = do { local %Errno::AnyString::Errno2Errstr ; $! };
=head1 AUTHOR
Dave Taylor, C<< <dave.taylor.cpan at gmail.com> >>
=head1 BUGS AND LIMITATIONS
=head2 C LEVEL STRERROR CALLS
If C level code attempts to get a textual error message based on C<errno> while a custom error string is set, it will get something like the following, depending on the platform:
Unknown error 458513437
=head2 PURE NUMERIC RESTORE
If the string part of a saved custom_errstr() C<$!> value is lost, then restoring that value to C<$!> restores the string most recently set with custom_errstr(), which is not necessarily the string that was set when the C<$!> value was saved.
( run in 0.474 second using v1.01-cache-2.11-cpan-4d50c553e7e )