perl5282delta - perl v5.28.2 的新功能
本文档描述了 5.28.1 版本和 5.28.2 版本之间的差异。
如果您要从 5.28.0 等早期版本升级,请先阅读 perl5281delta,其中描述了 5.28.0 和 5.28.1 之间的差异。
通用脚本中包含几组数字。[0-9]
是最常见的。但还有 [\x{FF10}-\x{FF19}]
(全角数字零 - 全角数字九),以及用于数学符号的几组,例如数学双线数字。所有这些集合都应该能够出现在例如希腊语的脚本运行中。但之前的设计忽略了除 ASCII 数字 [0-9]
之外的所有数字,因此设计存在缺陷。此问题已修复,因此既是错误修复,也是不兼容性。
运行中的所有数字都必须来自同一组十个数字。
Module::CoreList 已从版本 5.20181129_28 升级到 5.20190419。
PerlIO::scalar 已从版本 0.29 升级到 0.30。
Storable 已从版本 3.08 升级到 3.08_01。
Windows Server 2003 SP1 平台 SDK 构建(使用早期 x64 编译器和工具)在 Perl 5.27.9 中意外出现错误。此问题现已修复。
Perl 在 Mac OS X 上针对 -Duseshrplib
构建的构建和测试过程现在与 Mac OS X 系统完整性保护 (SIP) 兼容。
SIP 阻止 /bin(以及其他几个位置)中的二进制文件传递 DYLD_LIBRARY_PATH
环境变量。就我们而言,这会阻止将 DYLD_LIBRARY_PATH
传递给 shell,从而阻止该变量传递给测试或构建过程,因此运行 perl
无法找到 libperl.dylib。
为了解决这个问题,perl 可执行文件的初始构建预计会在构建目录中找到 libperl.dylib,然后在安装过程中调整库路径以指向已安装的库。
如果在全局销毁期间仍在进行就地编辑,并且进程退出代码(存储在 $?
中)为零,perl 现在将就地编辑视为成功,并用产生的任何输出替换输入文件。
这允许像这样的代码
perl -i -ne 'print "Foo"; last'
替换输入文件,而像这样的代码
perl -i -ne 'print "Foo"; die'
将不会。部分解决了 [perl #133659]。
Perl 5.28 中的回归导致以下代码失败
close(STDIN); open(CHILD, "|wc -l")'
因为子进程的 stdin 会在 exec 时关闭。此问题现已修复。
pack "u", "invalid uuencoding"
现在会正确地将生成的零长度 SV 终止为 NUL。
无法编译格式现在会中止编译。与子解析中的其他错误一样,这可能会使解析器处于奇怪的状态,如果编译继续,可能会导致 perl 崩溃。
Perl 5.28.2 代表了自 Perl 5.28.1 以来大约 4 个月的开发,包含了来自 13 位作者的 75 个文件中的大约 2,500 行更改。
不包括自动生成的 文件、文档和发布工具,对 29 个 .pm、.t、.c 和 .h 文件进行了大约 1,200 行更改。
Perl 继续在它的第四个十年蓬勃发展,这得益于一个充满活力的用户和开发人员社区。以下人员已知为 Perl 5.28.2 的改进做出了贡献
Aaron Crane、Abigail、Andy Dougherty、David Mitchell、Karen Etheridge、Karl Williamson、Leon Timmermans、Nicolas R.、Sawyer X、Steve Hay、Tina Müller、Tony Cook、Zak B. Elep。
上面的列表几乎肯定是不完整的,因为它是由版本控制历史自动生成的。特别是,它不包括向 Perl 错误跟踪器报告问题的(非常感谢的)贡献者的姓名。
此版本中包含的许多更改源自 Perl 核心包含的 CPAN 模块。我们感谢整个 CPAN 社区帮助 Perl 蓬勃发展。
有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码分发中的 AUTHORS 文件。
如果您发现您认为是错误的内容,您可以在 https://rt.perl.org/ 查看 Perl 错误数据库。您也可以在 https://www.perl5.cn/(Perl 主页)找到信息。
如果您认为您遇到了一个未报告的错误,请运行随您的发行版一起提供的 perlbug 程序。请务必将您的错误缩减为一个微小但足够的测试用例。您的错误报告以及 perl -V
的输出将被发送到 [email protected],由 Perl 移植团队进行分析。
如果您报告的错误存在安全隐患,不适合发送到公开存档的邮件列表,请参阅 "perlsec 中的 SECURITY VULNERABILITY CONTACT INFORMATION",了解如何报告此问题。
如果您想感谢 Perl 5 移植者在 Perl 5 中所做的工作,您可以运行 perlthanks
程序
perlthanks
这将向 Perl 5 移植者列表发送一封电子邮件,表达您的感谢。
Changes 文件,了解如何查看有关更改内容的详尽信息。
INSTALL 文件,了解如何构建 Perl。
README 文件,了解一般信息。
Artistic 和 Copying 文件,了解版权信息。