${^ENCODING}

此變數不再支援。

它用於保存轉換原始碼至 Unicode 的 Encode 物件的物件參考

其目的在於讓您的非 ASCII Perl 程式碼不必以 UTF-8 編寫;這在處理 UTF-8 編碼文字的編輯器還不普遍時很有用,但那是很久以前的事了。它會造成問題,例如影響未預期的其他模組運作,導致混亂。

如果您需要類似這樣的功能,建議您使用簡單的原始碼篩選器,例如 Filter::Encoding

如果您是因為某人使用此變數而對您的程式碼造成不良影響而來到這裡,您通常可以透過在中斷的函式開頭附近執行下列動作來解決問題。

local ${^ENCODING};

這會在包含函式執行範圍內取消定義變數。

此變數新增於 Perl 5.8.2,並於 5.26.0 中移除。在 Perl 5.28.0 中,將其設定為 undef 以外的任何值會導致致命錯誤。