Perl 5.8.0及相关版本更新内容深度解析
1. 字符表与Unicode更新
字符表已更新至Unicode 3.2.0。需要注意的是,与UTF - 8数据进行比较并不会自动将非UTF - 8数据升级为UTF - 8。例如,当混合I/O数据和Unicode数据时,输出可能会被神奇地编码为UTF - 8,这在之前是个问题。现在,生成非法的Unicode代码点(如U + FFFE或UTF - 16代理项)会产生可选警告。IsAlnum、IsAlpha和IsWord现在能匹配首字母大写的情况。使用 . 运算符进行拼接、变量插值、eq、substr、reverse、quotemeta、 x 运算符、 s/// 替换、单引号UTF - 8等操作现在应该都能正常工作。 tr/// 运算符也能正常使用,但 tr///CU 功能已被移除(可参考 pack('U0', …) )。 eval “v200” 现在也能正常工作。
2. 解析问题修复
Perl 5.6.0对 m/\x{ab}/ 的解析不正确,会导致虚假警告,现在这个问题已得到纠正。Unicode类(如IsDigit)中缺失的零条目已被补充。大的无符号数(大于2 ** 31)有时会失去无符号属性,导致算术运算结果错误,这个问题也已修复。Perl解析器通过随机输入和马尔可夫链输入进行了压力测试,发现的少数崩溃和锁定问题已得到解决。
3. 平台特定更改和修复
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



