perl5124delta - perl v5.12.4 的新增功能
本文档描述了 5.12.3 版本和 5.12.4 版本之间的差异。
如果您要从较早版本(例如 5.12.2)进行升级,请先阅读 perl5123delta,其中描述了 5.12.2 和 5.12.3 之间的差异。5.12.0 中进行的主要更改在 perl5120delta 中进行了描述。
没有与 5.12.3 故意不兼容的更改。如果存在,则为错误,欢迎报告。
当 strict "refs" 模式关闭时,如果其参数未定义,则 rvalue 上下文中的 %{...}
返回 undef
。Perl 5.12.0 中引入的一个优化是为了在用作布尔值时使 keys %{...}
更快,但没有考虑这一点,导致 keys %{+undef}
(以及当 $foo
未定义时的 keys %$foo
)成为一个错误,而它应该仅在 strict 模式下才成为错误 [perl #81750]。
当参数被污染时,lc
、uc
、lcfirst
和 ucfirst
不再返回未污染的字符串。自 perl 5.8.9 起,此问题一直存在 [perl #87336]。
修复了在解析 here 文档时可能从已释放的缓冲区中读取内容的情况。
Module::CoreList 已从 2.43 版升级到 2.50 版。
当环境具有 HTTPS_* 环境变量(如 HTTPS_PROXY)时,已修复 cpan/CGI/t/http.t 测试脚本,使其能够正常工作。
在 perlfunc 中更新了 rand() 的文档,以指出它在加密方面不安全。
支持 Ubuntu 11.04 的新多架构库布局。
Perl 5.12.4 代表了自 Perl 5.12.3 以来大约 5 个月的开发时间,包含了 8 位作者在 11 个文件中进行的约 200 行更改。
由于活跃的用户和开发人员社区,Perl 在其第三个十年中继续蓬勃发展。已知以下人员为 Perl 5.12.4 的改进做出了贡献
Andy Dougherty、David Golden、David Leadbeater、Father Chrysostomos、Florian Ragwitz、Jesse Vincent、Leon Brocard、Zsbán Ambrus。
如果您发现您认为是错误的内容,您可以查看最近发布到 comp.lang.perl.misc 新闻组和 perl 错误数据库 (http://rt.perl.org/perlbug/) 中的文章。Perl 主页 (https://www.perl5.cn/) 上也可能会有相关信息。
如果您认为您遇到了未报告的错误,请运行发行版中包含的 perlbug 程序。务必将您的错误精简为一个微小但充分的测试用例。您的错误报告以及 perl -V
的输出将被发送到 [email protected],供 Perl 移植团队进行分析。
如果您报告的错误具有安全隐患,不适合发送到公开存档的邮件列表,请将其发送到 [email protected]。这指向一个封闭的订阅未存档的邮件列表,其中包括所有核心提交者,他们将能够帮助评估问题的严重性,找出解决方案,并帮助协调在 Perl 受支持的所有平台上发布补丁以减轻或修复问题。请仅将此地址用于 Perl 核心中的安全问题,而不是用于在 CPAN 上独立分发的模块。
Changes 文件解释了如何查看有关更改内容的详尽详细信息。
用于构建 Perl 的INSTALL 文件。
用于一般内容的README 文件。
用于版权信息的Artistic 和Copying 文件。