书评:精通Perl(第2版)

brian d foy 编著的《精通Perl》第2版已经由O’Reilly出版。我们仔细研究了新版本,看看有哪些变化,以及成为Perl大师真正意味着什么。

掌握之道

Perl是一种看似深奥的语言:初学者可以在几分钟内开始使用Perl,但要真正理解Perl的所有功能和缺点,需要多年的实践。brian d foy 了解这一点,他在《精通Perl》的前言中解释说,掌握之路将涉及自学和实验,并与许多不同的Perl程序员一起工作和学习。书中接下来是对高级Perl编程主题的全面探讨,旨在引领读者走上掌握之路,并为他们提供进一步发展技能所需的知识。

《精通Perl》的内容

《精通Perl》覆盖了大量的内容,您可以在这里找到完整的章节列表。在每一章中,我都学到了关于Perl的有用、令人惊叹或纯粹有趣的东西。内容太多,无法一一列举,但对我来说,以下几点尤为突出:

  • 高级正则表达式覆盖,最终实现编写正则表达式语法(第1章)
  • 深入覆盖taint,包括如何绕过它(第2章)
  • 编写自己的Perl调试器(第3章)
  • 通过封装来修复他人的子程序(第9章)
  • 使用Sereal读写外部数据(第13章)
  • 将modulino概念扩展到测试中(第17章)

《精通Perl》也很有趣阅读:brian d foy 的写作风格轻松愉快但专业,有见解但合理。在代码和文字之间有一个很好的平衡:概念通过简洁的文字介绍和解释,而代码示例通常负责说明。

每个章节都是独立的:您不会发现自己需要翻阅前面的章节来理解书中后面讨论的概念。而且由于它的模块化结构,您可以深入探讨您最感兴趣的主题,稍后再回来处理剩余的内容。

内容变化

新版本的内容已经更新和增强;比第一次增加了大约50页。每一章都进行了更新,其中几章进行了大量修订。完整的变更列表可在此处找到,但变化最大的章节包括:

  • 高级正则表达式章节现在涵盖了递归、语法以及其他高级正则表达式功能,最终实现了Randal Schwartz的JSON解析器
  • 安全编程技术新增了关于符号引用和防止SQL注入(使用DBI)的内容。《Safe》模块也进行了介绍。
  • 检测和报告错误章节更新了Fatal内容,增加了autodie,并介绍了TryCatch
  • 数据持久性章节的数据格式已经重新组织为Perl特定数据存储和Perl无关数据存储。新增了关于JSON、Storable的安全问题以及Booking.com的Sereal的内容。

风格变化

第一版和第二版的封面展示在上图。在风格上,O'Reilly 给《精通Perl》做了一次彻底的清洗。封面标题的字体已从Garamond改为URW Typewriter,并且vicuñas的家族经过了一次朝鲜风格的喷漆,其中(可能)麻烦的第二只小鹿被完全移除。我喜欢新的封面,它看起来更干净、更现代,但仍然忠实于Perl的传统,保留了封面上的蓝色背景和与骆驼相关的动物。除了封面,书的页面风格完全没有改变,整本书使用相同的字体和间距。

结论

《精通Perl》是一本有趣、信息丰富且值得《中级Perl》的继承之作。它为读者提供了一系列高级工具和方法,使读者能够现在用Perl做更多的事情,同时为真正掌握这门语言打开了大门。

现在可以从O’ReillyAmazon(联盟链接)购买《精通Perl》的第二版。

喜欢这篇文章吗?帮助我们,转发它!


这篇文章最初发布在PerlTricks.com

标签

David Farrell

David是一位专业程序员,他经常推文博客关于代码和编程的艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?通过在GitHub上打开一个问题或拉取请求来帮助我们。