perl5161delta - Perl v5.16.1 的新功能
本文档描述了 5.16.0 版本和 5.16.1 版本之间的差异。
如果您从 5.14.0 等早期版本升级,请先阅读 perl5160delta,其中描述了 5.14.0 和 5.16.0 之间的差异。
该错误修复在 Scalar-List-Util 1.23_04 中,perl 5.16.1 包含 Scalar-List-Util 1.25。
没有故意与 5.16.0 不兼容的更改。如果存在任何不兼容,则为错误,我们要求您提交报告。请参阅下面的 "报告错误"。
Scalar::Util 和 List::Util 已从版本 1.23 升级到版本 1.25。
B::Deparse 已从版本 1.14 更新到 1.14_01。B::Deparse 发出的“未初始化”警告已修复 [perl #113464]。
使用某些 Windows 编译器构建 perl 以前会失败,因为 miniperl 的 glob
运算符(使用 perlglob
程序)删除了 PATH 环境变量 [perl #113798]。
现在在 VMS 上安装了发行版顶层目录中的所有 C 头文件,与其他平台上的长期做法保持一致。以前只安装了子集,这破坏了依赖于缺少包含文件的非核心扩展的构建。
已修复 Perl v5.16.0 中引入的与 tr/SEARCHLIST/REPLACEMENTLIST/
相关的回归。如果一个字符在 SEARCHLIST
中出现多次,则只有第一个实例才是有意义的。在某些情况下,最后一个实例会覆盖所有先前的实例。[perl #113584]
已添加 B::COP::stashlen
。这提供了对 perl 5.16 在线程化构建中添加的内部字段的访问权限。它在 5.16 发布前的最后一刻被破坏了 [perl #113034]。
re 语义将不再覆盖 $_
。[perl #113750]
Unicode 6.1 发布了 Canonical_Combining_Class 属性值(范围在 0 到 254 之间)的错误别名。别名 CCC133
应该为 CCC132
。Perl 现在覆盖了 Unicode 提供的数据文件,以提供正确的值。
复制标量文件句柄再次有效。[perl #113764]
在多线程 Perl 中,正则表达式中的运行时代码块可能会破坏 op 树中存储的包名称,导致 caller
中出现错误读取,并可能导致崩溃 [perl #113060]。
为了提高效率,许多运算符和内置函数每次都返回相同的标量。左值子例程和 CORE:: 命名空间中的子例程允许此实现细节泄露。print &CORE::uc("a"), &CORE::uc("b")
以前会打印 "BB"。使用返回 uc
返回值的左值子例程也会发生同样的事情。现在,在这种情况下,该值会被复制 [perl #113044]。
__SUB__
现在可以在特殊块(BEGIN
、END
等)中使用。
引用外部词法变量的格式不再会导致崩溃。
没有新的已知问题,但请参阅 "perl5160delta 中的已知问题",查看 5.16.0 版本中发现的问题。
Perl 5.16.1 代表了自 Perl 5.16.0 发布以来的大约 2 个月的开发,包含了来自 8 位作者的 96 个文件的约 14,000 行更改。
Perl 在其第三个十年中继续蓬勃发展,这得益于充满活力的用户和开发人员社区。以下人员已知为 Perl 5.16.1 的改进做出了贡献
Chris 'BinGOs' Williams、Craig A. Berry、Father Chrysostomos、Karl Williamson、Paul Johnson、Reini Urban、Ricardo Signes、Tony Cook。
上面的列表几乎肯定是不完整的,因为它是由版本控制历史记录自动生成的。特别是,它不包括报告 Perl 错误跟踪器问题的贡献者(非常感谢)的姓名。
此版本中包含的许多更改源自 Perl 内核中包含的 CPAN 模块。我们感谢整个 CPAN 社区帮助 Perl 蓬勃发展。
有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码分发中的 AUTHORS 文件。
如果您发现您认为是错误的内容,您可以查看最近发布到 comp.lang.perl.misc 新闻组的文章和 http://rt.perl.org/perlbug/ 上的 Perl 错误数据库。您也可以在 Perl 主页 https://www.perl5.cn/ 上找到相关信息。
如果您认为您遇到了未报告的错误,请运行随您的版本一起提供的 perlbug 程序。请确保将您的错误缩减为一个微小但足够的测试用例。您的错误报告以及 perl -V
的输出将被发送到 [email protected],由 Perl 移植团队进行分析。
如果您要报告的错误涉及安全隐患,不适合发送到公开存档的邮件列表,请将其发送到 [email protected]。这指向一个封闭的订阅未存档邮件列表,其中包括所有核心提交者,他们将能够帮助评估问题的影响,找出解决方案,并帮助协调在 Perl 支持的所有平台上发布补丁以缓解或修复问题。请仅将此地址用于 Perl 核心中的安全问题,不要用于独立分发在 CPAN 上的模块。
Changes 文件,了解如何查看有关更改的详尽信息。
INSTALL 文件,了解如何构建 Perl。
README 文件,了解一般信息。
Artistic 和 Copying 文件,了解版权信息。