內容

名稱

Errno - 系統 errno 常數

語法

use Errno qw(EINTR EIO :POSIX);

說明

Errno 定義並有條件地匯出系統 errno.h include 檔案中定義的所有錯誤常數。它有一個單一的匯出標籤 :POSIX,它會匯出所有 POSIX 定義的錯誤號碼。

在 Windows 上,Errno 也會定義並有條件地匯出系統 WinError.h include 檔案中定義的所有 Winsock 錯誤常數。這些錯誤常數包含在第二個匯出標籤 :WINSOCK 中。

Errno 也會讓 %! 魔法,讓 %! 的每個元素只有在 $! 設定為該值時,才會是非零值。例如

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

如果系統上不存在指定的常數 EFOO$!{EFOO} 會傳回 ""。你可以使用 exists $!{EFOO} 來檢查系統上是否有這個常數。

Perl 會在第一次使用 %! 時自動載入 Errno,所以你不必明確使用 use

注意事項

匯入特定常數可能不會很具可移植性,因為匯入會在沒有該常數的平台上失敗。設定 $! 為有效值更具可移植性的方式是使用

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

作者

Graham Barr <gbarr@pobox.com>

版權

版權所有 (c) 1997-8 Graham Barr。保留所有權利。此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。