Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# Errno

Perl 5 version 26.0 documentation
Go to top
Show page index • Show recent pages
Recently read

# Errno

- NAME
- SYNOPSIS
- DESCRIPTION
- CAVEATS
- AUTHOR
- COPYRIGHT

# 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.

Page index

- NAME
- SYNOPSIS
- DESCRIPTION
- CAVEATS
- AUTHOR
- COPYRIGHT