Errno(3p) Perl Programmers Reference Guide Errno(3p) #
Errno(3p) Perl Programmers Reference Guide Errno(3p)
NNAAMMEE #
Errno - System errno constants
SSYYNNOOPPSSIISS #
use Errno qw(EINTR EIO :POSIX);
DDEESSCCRRIIPPTTIIOONN #
"Errno" defines and conditionally exports all the error constants defined
in your system _e_r_r_n_o_._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 _W_i_n_E_r_r_o_r_._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".
CCAAVVEEAATTSS #
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;
}
AAUUTTHHOORR #
Graham Barr <gbarr@pobox.com>
CCOOPPYYRRIIGGHHTT #
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.
perl v5.36.3 2024-03-20 Errno(3p)