=over

=item %!

Each element of C<%!> has a true value only if C<$!> is set to that
value.  For example, C<$!{ENOENT}> is true if and only if the current
value of C<$!> is C<ENOENT>; that is, if the most recent error was
"No such file or directory" (or its moral equivalent: not all operating
systems give that exact error, and certainly not all languages).
To check if a particular key is meaningful on your system, use
C<exists $!{the_key}>; for a list of legal keys, use C<keys %!>.
See L<Errno> for more information, and also see above for the
validity of C<$!>.

=back