Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Errno (3)

Name

Errno - System errno constants

Synopsis

use Errno qw(EINTR EIO :POSIX);

Description

Perl Programmers Reference Guide                                      Errno(3)



NAME
       Errno - System errno constants

SYNOPSIS
           use Errno qw(EINTR EIO :POSIX);

DESCRIPTION
       "Errno" defines and conditionally exports all the error constants
       defined in your system errno.h include file. It has a single export
       tag, ":POSIX", which will export all POSIX defined error numbers.

       On Windows, "Errno" also defines and conditionally exports all the
       Winsock error constants defined in your system WinError.h include file.
       These are included in a second export tag, ":WINSOCK".

       "Errno" also makes "%!" magic such that each element of "%!" has a non-
       zero value only if $! is set to that value. For example:

           my $fh;
           unless (open($fh, "<", "/fangorn/spouse")) {
               if ($!{ENOENT}) {
                   warn "Get a wife!\n";
               } else {
                   warn "This path is barred: $!";
               }
           }

       If a specified constant "EFOO" does not exist on the system, $!{EFOO}
       returns "".  You may use "exists $!{EFOO}" to check whether the
       constant is available on the system.

       Perl automatically loads "Errno" the first time you use "%!", so you
       don't need an explicit "use".

CAVEATS
       Importing a particular constant may not be very portable, because the
       import will fail on platforms that do not have that constant.  A more
       portable way to set $! to a valid value is to use:

           if (exists &Errno::EFOO) {
               $! = &Errno::EFOO;
           }

AUTHOR
       Graham Barr <gbarr@pobox.com>

COPYRIGHT
       Copyright (c) 1997-8 Graham Barr. All rights reserved.  This program is
       free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | runtime/perl-532      |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.perl.org/.



perl v5.32.0                      2022-06-28                          Errno(3)