Errno

use Errno;
unless (open(FH, $pathname)) {
    if ($!{ENOENT}) {  # We don't need an import for this!
        warn "$pathname does not exist
";
    }
    else {
        warn "open failed on `$pathname': $!";
    }
}

use Errno qw(EINTR EIO :POSIX);
if ($! == ENOENT) { …. }

The Errno module makes available the symbolic names for the error status values set when a syscall fails, but does not export them by default. The module has a single export tag, ":POSIX", which exports only those symbols defined by the POSIX 1003.1 standard. The module also makes the global %! variable magical using tie. You can subscript into the %! hash using any valid errno on your system, not just the POSIX ones, and its value is true only if that's the current error.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset