书评:精通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’Reilly和Amazon(联盟链接)购买《精通Perl》的第二版。
喜欢这篇文章吗?帮助我们,转发它!
这篇文章最初发布在PerlTricks.com。
标签
反馈
这篇文章有什么问题吗?通过在GitHub上打开一个问题或拉取请求来帮助我们。
- More commenting... maybe?
github.polettix.it - Perl Weekly Challenge 121: Invert Bit
blogs.perl.org - Web nostalgia: MojoX::Mechanize
github.polettix.it - On the eve of CPAN Testers
blogs.perl.org - PWC121 - The Travelling Salesman
github.polettix.it - PWC121 - Invert Bit
github.polettix.it - Floyd-Warshall algorithm implementations
github.polettix.it - Perl Weekly Challenge 120: Swap Odd/Even Bits and Clock Angle
blogs.perl.org - How I Uploaded a CPAN Module
blogs.perl.org - App::Easer released on CPAN
github.polettix.it