NAME

POSIX::1003::Errno - all error codes defined by the OS

SYNOPSIS

use POSIX::1003::Errno; # load all names

use POSIX::1003::Errno qw(errno);
# keys are strings!
$ticks = errno('EPERM');

use POSIX::1003::Errno qw(errno EPERM);
if($!==EPERM) ...

use POSIX::1003::Errno '%errno';
my $key = $errno{EPERM};
$errno{EUNKNOWN} = 1024;
$ticks  = errno('EUNKNOWN');

print "$_\n" for keys %errno;

DESCRIPTION

The error codes provided by your operating system.

The code modules Errno and POSIX do also contain an extensive list of error numbers. However: Errno have their values hard-coded, which is incorrect (higher numbered codes may [do!] differ per platform). POSIX only provides a limited subset.

METHODS

FUNCTIONS

Standard POSIX

strerror($errno)

Returns the string representations of the $errno, as provided by the operating system.

Additional

errno($name)

Returns the errno value related to the NAMEd constant. The $name must be a string. undef will be returned when the $name is not known by the system.

example:

my $ticks = errno('EPERM') || 1000;
errno_names()

Returns a list with all known names, unsorted.

CONSTANTS

%errno

This exported variable is a tied HASH which maps E* names on numbers, to be used with the system's errno() function.

The following error names where detected on your system when the module got installed. The second column shows the related value. Followed by the text that strerror() produces for that error. Or course, your error messages may be translated.

During installation, a symbol table will get inserted here.

SEE ALSO

This module is part of POSIX-1003 distribution version 1.00, built on May 05, 2020. Website: http://perl.overmeer.net/CPAN. The code is based on POSIX, which is released with Perl itself. See also POSIX::Util for additional functionality.

COPYRIGHTS

Copyrights 2011-2020 on the perl code and the related documentation by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/