perl5244delta - perl v5.24.4 的新特性
本文档描述了 5.24.3 版本和 5.24.4 版本之间的差异。
如果您要从 5.24.2 等早期版本升级,请先阅读 perl5243delta,其中描述了 5.24.2 和 5.24.3 之间的差异。
精心构造的正则表达式可能导致堆缓冲区写溢出,并能控制写入的字节。 [GH #16185]
匹配精心构造的与区域设置相关的正则表达式可能导致堆缓冲区读溢出,并可能导致信息泄露。 [GH #16143]
pack()
在项目数量过大时可能导致堆缓冲区写溢出。 [GH #16098]
Unicode 属性名称中的控制字符可能导致 perl 崩溃。 此问题已修复。 [perl #132055] [perl #132553] [perl #132658]
没有故意与 5.24.3 不兼容的更改。 如果存在任何不兼容,则为错误,我们要求您提交报告。 请参阅下面的 "报告错误"。
Module::CoreList 已从版本 5.20170922_24 升级到 5.20180414_24。
readpipe()
内置函数现在在编译时检查它只有一个参数表达式,并将其置于标量上下文中,从而确保它在运行时不会破坏堆栈。 [GH #2793]
Perl 5.24.4 代表自 Perl 5.24.3 以来大约 7 个月的开发,包含来自 12 位作者的 49 个文件中的大约 2,400 行更改。
不包括自动生成的檔案、文件和发布工具,大约有 1,300 行代码更改了 12 个 .pm、.t、.c 和 .h 文件。
Perl 凭借其充满活力的用户和开发者社区,在第三个十年里继续蓬勃发展。以下人员为 Perl 5.24.4 的改进做出了贡献。
Abigail、Chris 'BinGOs' Williams、John SJ Anderson、Karen Etheridge、Karl Williamson、Renee Baecker、Sawyer X、Steve Hay、Todd Rinaldo、Tony Cook、Yves Orton、Zefram。
上面的列表可能并不完整,因为它是由版本控制历史自动生成的。特别是,它不包括向 Perl 错误追踪器报告问题的贡献者(非常感谢)的姓名。
此版本中包含的许多更改源自 Perl 核心包含的 CPAN 模块。我们感谢整个 CPAN 社区帮助 Perl 蓬勃发展。
有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码分发中的 AUTHORS 文件。
如果您发现您认为是错误的内容,您可以查看最近发布到 comp.lang.perl.misc 新闻组的文章和 Perl 错误数据库 https://rt.perl.org/。您也可以在 Perl 主页 https://www.perl5.cn/ 上找到相关信息。
如果您认为您遇到了未报告的错误,请运行随您的发行版提供的 perlbug 程序。请务必将您的错误缩减为一个微小但足够充分的测试用例。您的错误报告以及 perl -V
的输出将被发送到 [email protected],由 Perl 移植团队进行分析。
如果您要报告的错误存在安全隐患,不适合发送到公开存档的邮件列表,请参阅 "perlsec 中的 SECURITY VULNERABILITY CONTACT INFORMATION",了解如何报告此问题。
Changes 文件,了解如何查看有关更改内容的详尽信息。
INSTALL 文件,了解如何构建 Perl。
README 文件,了解一般信息。
Artistic 和 Copying 文件,了解版权信息。