内容

名称

perl5122delta - perl v5.12.2 的新功能

描述

本文档描述了 5.12.1 版本和 5.12.2 版本之间的差异。

如果您要从早期主要版本(例如 5.10.1)升级,请先阅读 perl5120delta,其中描述了 5.10.0 和 5.12.0 之间的差异,以及 perl5121delta,其中描述了 5.12 稳定版系列中的早期更改。

不兼容的更改

此版本没有故意与 5.12.1 不兼容的更改。如果有任何不兼容的更改,它们都是 bug,欢迎报告。

核心增强

除了下面列出的 bug 修复之外,此版本对核心语言没有用户可见的更改。

模块和语义

新模块和语义

此版本没有引入任何新的模块或语义。

语义更改

在之前的版本中,no VERSION; 语句会触发一个 bug,导致 功能 包被意外加载,并且 严格 模式被意外启用。

更新的模块

Carp

从版本 1.16 升级到 1.17。

Carp 现在可以检测到不完整的 caller() 覆盖,并避免使用虚假的 @DB::args。为了提供回溯,Carp 依赖于 caller 内置函数的特定行为。Carp 现在可以检测到其他代码是否用不完整的实现覆盖了它,并相应地修改其回溯。以前不完整的覆盖会导致回溯中的值不正确(最佳情况),或者隐藏致命错误(最坏情况)。

这修复了由模块错误地覆盖 caller() 导致的某些 Bizarre copy of ARRAY 情况。

CPANPLUS

一个针对 cpanp-run-perl 的补丁已从 CPANPLUS 0.9004 反向移植。这解决了 RT #55964RT #57106,这两个问题都与无法安装使用 Module::Install::DSL 的发行版有关。

File::Glob

已修复一个导致加载 File::Glob 后无法找到 CORE::GLOBAL::glob 而导致崩溃的回归。现在,它会正确地通过 pp_glob 回退到外部 glob。

File::Copy

File::Copy::copy(FILE, DIR) 现在已记录。

File::Spec

从版本 3.31 升级到 3.31_01。

File::Spec::VMS中进行了一些可移植性修复:冒号现在被识别为原生文件规范中的分隔符;插入符号转义的分隔符被识别,以便更好地处理扩展文件规范;如果输入目录名称为空,catpath()将返回一个空目录,而不是当前目录;abs2rel()正确地处理了 Unix 风格的输入。

实用程序更改

现有文档的更改

安装和配置改进

配置改进

编译改进

选定的错误修复

平台特定说明

AIX

Windows

VMS

致谢

Perl 5.12.2 代表了自 Perl 5.12.1 以来大约三个月的开发,包含了来自 36 位作者的 100 个文件中的大约 2,000 行更改。

得益于充满活力的用户和开发者社区,Perl 已经蓬勃发展了三十年。以下人员为 Perl 5.12.2 的改进做出了贡献。

Abigail,Ævar Arnfjörð Bjarmason,Ben Morrow,brian d foy,Brian Phillips,Chas. Owens,Chris 'BinGOs' Williams,Chris Williams,Craig A. Berry,Curtis Jewell,Dan Dascalescu,David Golden,David Mitchell,Father Chrysostomos,Florian Ragwitz,George Greer,H.Merijn Brand,Jan Dubois,Jesse Vincent,Jim Cromie,Karl Williamson,Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯,Leon Brocard,Maik Hentsche,Matt S Trout,Nicholas Clark,Rafael Garcia-Suarez,Rainer Tammer,Ricardo Signes,Salvador Ortiz Garcia,Sisyphus,Slaven Rezic,Steffen Mueller,Tony Cook,Vincent Pit 和 Yves Orton。

报告错误

如果您发现疑似错误,请查看最近发布到 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 文件,其中解释了如何查看有关更改的详尽信息。

INSTALL 文件,其中介绍了如何构建 Perl。

README 文件,其中包含一般信息。

ArtisticCopying 文件,其中包含版权信息。