perl5361delta - perl v5.36.1 的新增功能
本文档描述了 5.36.0 版本和 5.36.1 版本之间的差异。
如果您要从早期版本(例如 5.35.0)升级,请先阅读 perl5360delta,其中描述了 5.35.0 和 5.36.0 之间的差异。
没有与 5.36.0 故意不兼容的更改。如果存在,则为错误,我们要求您提交报告。请参阅下面的 报告错误。
Module::CoreList 已从版本 5.20220520 升级到 5.20230423。
Configure
通过测试这些函数的声明是否与实现产生函数类型不匹配来探测 malloc() 和 free() 的返回类型。在 Solaris 上,使用 C++ 编译器时,此检查总是失败,因为 Solaris 会从 std::
中导入 malloc() 和 free(),并使用 using
进行 C++ 构建。由于 malloc() 和 free() 的返回类型由 C 标准明确定义,因此跳过对它们的探测。在极少数情况下需要时,Configure
命令行参数和提示仍可以覆盖这些类型。[GH #20806]
已添加和更改测试以反映此版本中的其他新增和更改。
正则表达式代码块中的最后一个语句作为 eval() 可能触发解释器恐慌;例如:
/(?{ ...; eval {....}; })/
引用在祖先作用域中定义的词法子例程的 eval EXPR
不再产生断言失败。[GH #19857]
写入与选定的输出句柄 $^
、$~
、$=
、$-
和 $%
关联的魔术变量不再使 perl 崩溃,如果 IO 对象已从选定的输出句柄中清除。[GH #20733]
Perl 5.36.1 代表了自 Perl 5.36.0 以来大约 11 个月的开发,并且包含来自 24 位作者的 62 个文件中的大约 5,500 行更改。
不包括自动生成的文件、文档和发行工具,大约有 1,600 行更改到 23 个 .pm、.t、.c 和 .h 文件。
由于活跃的用户和开发人员社区,Perl 在其第四个十年继续蓬勃发展。以下人员已知为 Perl 5.36.1 的改进做出了贡献
Andreas König、Bram、Chris 'BinGOs' Williams、Craig A. Berry、Dagfinn Ilmari Mannsåker、David Mitchell、Elvin Aslanov、Florian Weimer、Graham Knop、Hugo van der Sanden、Karen Etheridge、Karl Williamson、Leon Timmermans、Matthew Horsfall、Max Maischein、Neil Bowers、Nicolas R、Renee Baecker、Ricardo Signes、Richard Leach、Steve Hay、Todd Rinaldo、Tony Cook、Yves Orton。
上面的列表几乎肯定是不完整的,因为它是从版本控制历史中自动生成的。特别是,它不包括向 Perl bug 跟踪器报告问题的(非常感谢的)贡献者的姓名。
此版本中包含的许多更改源自 Perl 核心包含的 CPAN 模块。我们感谢整个 CPAN 社区帮助 Perl 蓬勃发展。
有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码发行版中的 AUTHORS 文件。
如果您发现您认为是一个错误,您可以在 https://github.com/Perl/perl5/issues 查看 perl 错误数据库。Perl 主页 https://www.perl5.cn/ 上也可能有一些信息。
如果您认为自己发现了未报告的错误,请在 https://github.com/Perl/perl5/issues 打开一个问题。务必将错误精简为一个微小但充足的测试用例。
如果您报告的错误具有安全影响,不适合发送到公共问题跟踪器,请参阅 perlsec 中的“安全漏洞联系信息”,了解如何报告此问题。
如果您希望感谢 Perl 5 Porters 为 Perl 5 所做的工作,您可以通过运行 perlthanks
程序来实现。
perlthanks
这会向 Perl 5 Porters 列表发送一封电子邮件,表达您的谢意。
更改 文件,了解如何查看所更改内容的详尽详细信息。
安装 文件,了解如何构建 Perl。
自述 文件,了解一般信息。
艺术 和 复制 文件,了解版权信息。