$EXTENDED_OS_ERROR
$^E

特定於當前作業系統的錯誤資訊。目前,這僅在 VMS、OS/2 和 Win32(以及 MacPerl)下與 "$!" 不同。在所有其他平台上,$^E 始終與 $! 相同。

在 VMS 下,$^E 提供最後一個系統錯誤的 VMS 狀態值。這是比 $! 提供的最後一個系統錯誤更具體的資訊。當 $! 設為 EVMSERR 時,這特別重要。

在 OS/2 下,$^E 設為透過 CRT 或直接從 Perl 呼叫 OS/2 API 的最後一個呼叫的錯誤碼。

在 Win32 下,$^E 始終傳回由 Win32 呼叫 GetLastError() 所報告的最後一個錯誤資訊,描述 Win32 API 中的最後一個錯誤。大多數特定於 Win32 的程式碼會透過 $^E 報告錯誤。ANSI C 和類 Unix 呼叫會設定 errno,因此大多數可攜式 Perl 程式碼會透過 $! 報告錯誤。

"$!" 描述中提到的注意事項通常也適用於 $^E

此變數新增於 Perl 5.003。

助記符:額外的錯誤說明。