哪里有学习 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 新特性的好资源?的主要内容,如果未能解决你的问题,请参考以下文章
SJ22springboot2新特性及响应式编程项目视频教程高清完整资源
在linux下的如何将perl默认版本5.8.8升级为5.10