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

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

任何链接将不胜感激。

-fREW

【问题讨论】:

    标签: perl perl5.10


    【解决方案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 的文章:

    还有我在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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-26
          • 2010-09-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-21
          相关资源
          最近更新 更多