哪里有学习 Perl 5.10 新特性的好资源?

Posted

技术标签:

【中文标题】哪里有学习 Perl 5.10 新特性的好资源?【英文标题】:Where are some good resources for learning the new features of Perl 5.10? 【发布时间】:2010-09-15 04:11:51 【问题描述】:

直到最近我才意识到 Perl 5.10 有重要的新特性,我想知道是否有人可以给我一些很好的资源来学习这些特性。我在谷歌上搜索了它们,我发现的只是一些幻灯片和一个快速概述。如果有更多的解释,其中一些功能(至少对我而言)会很好。

任何链接将不胜感激。

-fREW

【问题讨论】:

【参考方案1】:

perldelta 联机帮助页包含所有细节。有一个简短(但内容丰富)的幻灯片演示,Perl 5.10 for people who aren't totally insane。还有一个很好的PerlMonks discussion 在这个问题上。

【讨论】:

是的,这是我在谷歌搜索中找到的两件事。我想 perldelta 是当时最好的资源。 我喜欢“Perl 5.10 适合不完全疯狂的人”。简洁的概述。【参考方案2】:

我发现这个article 很有用。

这个one 更侧重于 5.10 高级正则表达式。

还有A beginners' Introduction to Perl 5.10。

最后,这篇出色的summary 讲述了为什么应该开始使用 Perl 5.10,我从中提取了以下内容:

状态变量 没有更多带有外部花括号的范围变量,或者顽皮的 my $f if 0 技巧(后者现在是语法错误)。 已定义或不再有 $x = 已定义 $y ? $y : $z,你可以改为 $x = $y // $z。 正则表达式改进 dave_the_m 做了很多工作来清理内部,这为 demerphq 添加各种新的酷东西铺平了道路。 更小的变量足迹 Nicholas Clark 致力于 SV、AV、HV 和其他数据结构的实现,以将它们的大小减小到恰好在 32 位架构上达到最佳位置的程度 更小的常量子足迹 Nicholas Clark 减小了常量子的大小(如使用常量 FOO => 2)。加载像 POSIX 这样的模块时的结果很重要。 堆叠文件测试你现在可以说 if (-e -f -x $file)。 Perl 6 应该允许这样做,但他们朝不同的方向发展。那好吧。 lexical $_ 允许您嵌套 $_(不使用本地)。 _原型你现在可以用原型声明一个子。如果在没有参数的情况下调用,则会得到 $ (允许您更干净地替换内置函数)。 x 运算符在列表中,您现在可以说我的@arr = qw(xyz) x 4。(更新:此功能在 blead 中实现后被反向移植到 5.8 代码库,这就是 Somni 注意到它可用的方式在 5.8.8 中)。 switch 一个真正的 switch/given 构造,灵感来自 Perl 6 智能匹配运算符 (~~) 与开关配合使用 闭包改进 dave_the_m 彻底修改了闭包处理代码,以修复许多错误行为和内存泄漏。 更快的 Unicode lc、uc 和 /i 在 Unicode 字符串上更快。对 UTF-8 缓存的改进。 改进的排序在可能的情况下执行就地排序,而不是使用临时排序。排序函数可以递归调用:你可以对树进行排序 虚空上下文中的地图不再是邪恶的。只有道德上。 在创建匿名列表和散列时使用的操作码更少。更快的猫! 污染改进 $# 和 $* 已移除 远距离动作较少 perlcc 和 JPL 已删除 这些东西只是 bug 磁铁,没有人足够关心它们。

【讨论】:

嘿,你打败了我!我写了那篇文章:) 这确实是一篇好文章。我确保留下指向您原始作品的指针。我不想让人们认为是我写的。【参考方案3】:

Perl Tips 中有一系列关于 Perl 5.10 的文章:

Regular Expressions in Perl 5.10 Perl 5.10: Defined-or and state Switch (given and when) Perl 5.10 and Hash::Util::FieldHash Smart-match in Perl 5.10

还有我在Perl Training Australia's presentations page 上的Perl 5.10 中的新功能幻灯片,但由于它们是在 5.10 发布之前编写的,所以有些东西可能略有变化。我相信 rjbs 的 Perl 5.10 for people who aren't totally insane 现在涵盖了我以前的幻灯片。

一切顺利,

保罗

强制性偏见披露:我写了这篇文章中提到的几乎所有资源,

【讨论】:

pjf 太谦虚了。他在smart match operator 上的文章简直是我在这个主题上看到的最好的。他是我的英雄。【参考方案4】:

Learning Perl, Fifth Edition 及更高版本 5.10。除此之外,其他人提到的资源,包括perldelta,都相当不错。我已经写了几篇关于The Effective Perler 的一些功能的文章。

最好的入门方法是选择一个有趣的功能并尝试使用它。这就是您会发现的指南作者的想法。这就是你真正应该开始学习任何语言的方式。

【讨论】:

【参考方案5】:

正则表达式改进包括命名捕获:Look Here

【讨论】:

【参考方案6】:

请参阅 Ricardo Signes 的幻灯片,了解他出色的“Perl 5.10 For People Who Not All Insane”。

http://www.slideshare.net/rjbs/perl-510-for-people-who-arent-totally-insane

【讨论】:

以上是关于哪里有学习 Perl 5.10 新特性的好资源?的主要内容,如果未能解决你的问题,请参考以下文章

perl 5.8 和 5.10 之间的区别 [关闭]

Perl 5.10+ 中词法 $_ 的优缺点

SJ22springboot2新特性及响应式编程项目视频教程高清完整资源

在linux下的如何将perl默认版本5.8.8升级为5.10

[Perl] 在 perl 5.10 中读取带分隔符的文本文件并插入到 mysql 表中

软件资源 | Sketch 49 新特性(附破解版)