特定於當前作業系統的錯誤資訊。目前,這僅在 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。
助記符:額外的錯誤說明。