此变量不再受支持。
它曾经保存着用于将源代码转换为 Unicode 的 Encode
对象的对象引用。
它的目的是允许您的非 ASCII Perl 脚本不必用 UTF-8 编写;这在支持 UTF-8 编码文本的编辑器普及之前很有用,但那是很久以前的事了。它会导致问题,例如影响其他模块的运行,这些模块没有预期它,从而导致普遍混乱。
如果您需要类似的功能,建议您使用简单的源代码过滤器,例如 Filter::Encoding。
如果您来到这里是因为您的代码受到某人使用此变量的不利影响,您通常可以通过以下方式解决问题
local ${^ENCODING};
在导致问题的函数开头附近。这在包含函数的执行范围内取消定义了该变量。
此变量在 Perl 5.8.2 中添加,并在 5.26.0 中删除。在 Perl 5.28.0 中,将其设置为除 undef
之外的任何值都会导致致命错误。