Perl 5.12 中最有趣/有用的新特性是什么?

5

我记得当Perl 5.10发布时,我迅速采用了given .. whensay//和智能匹配运算符。

你认为Perl 5.12.0引入的最有用的修复和功能是什么?


4
应该将这个设为社区 wiki。 - Quentin
可能是 http://stackoverflow.com/questions/1512047/is-there-anything-exciting-in-perl-5-11 的重复问题。 - Ether
5个回答

6
现在,while( readdir $dir ){} 的工作方式更像 while( readline $file ){}。这两个函数都与文件处理有关。
perl -MO=Deparse -e'while( readline $f ){}'

while (defined($_ = <$f>)) {
    ();
}

<$f> 等同于 readline $f


这就是 Perl v5.11.2 之前版本处理 while( readdir $dir ){} 的方式。

perl-5.10 -MO=Deparse -e'while( readdir $d ){}'

while (readdir $d) {
    ();
}

值得注意的是,如果存在名称为0的文件或目录,则上述内容将无法正常工作。这并不重要,因为它本来就没有什么有用的功能。
在Perl版本5.11.2中,添加了一个补丁,使其更符合处理while(readline $file){...}的方式。
perl-5.12.0 -MO=Deparse -e'while( readdir $d ){}'

while (defined($_ = readdir $d)) {
    ();
}

我想指出的是,就是提供那个补丁的人。这是我第一次尝试修复Perl核心的东西。因此,这也是我写的第一个补丁,被纳入了Perl。


6

原始数据:

有趣的内容:

精彩内容:

不确定信息是否为新内容,但perlperf - Perl性能和优化技术已添加到文档中!!!

有用的内容:


顺便说一句,以上选择只是我的个人意见。显然,你的情况可能会有所不同 :) - DVK

5
这是目前为止我最喜欢的功能:
use 5.012; # enables 'use strict' implicitly!

感谢您纠正拼写错误,Alexandr! - tsee

3

我喜欢Yada Yada的想法,不过时间会告诉我们它是否真正有用。


3

有一些微妙但非平凡的改进将使便携式(闪存驱动器)Perl分发更好地工作(或者根本工作不了)。

此外,Perl现在已经在Windows上支持64位的GCC,因此Strawberry Perl 64位版本应该很快就会推出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接