Perl 编程必备书籍

作者:Eric Raymond

Perl 已经成为 Unix/互联网世界中最重要的语言之一,并且是迄今为止万维网上 CGI 脚本最流行的选择。它仍在快速增长并扩展到新的应用领域。Perl 甚至在非 Unix 环境中也取得了进展——在 1997 年 8 月 19 日至 21 日在圣何塞由 O'Reilly and Associates 主办的首届 Perl 会议上,微软 NT 的演示就充分证明了这一点。

如果您还不了解 Perl,那么学习它将是一个好主意。对于许多类型的最终用户和系统管理应用程序(特别是那些涉及文本处理或将几个标准 Unix 工具粘合在一起的应用程序),Perl 是无价的。在主要的 Unix 解释型语言(shell、Tcl、Python、Emacs Lisp)中,只有 Python 在 Perl 的整个应用范围内真正能与 Perl 竞争,即使 Python 也无法匹敌 Perl 在基于正则表达式的文本处理方面的能力(尽管另一方面,Python 在扩展到非常大型和复杂的项目时可能表现更好)。

The Essential Perl Books
Perl 作为一种语言的活力与这三本书的实力相匹配,它们之间出色地完成了记录该语言的完整工作。您可能需要拥有这三本中的两本:难题是如何决定选择哪两本,因为它们各自针对的是相当不同的受众。

Learning Perl(俗称“美洲驼书”)是入门卷。它的目的是快速教授基础 Perl,并且似乎是针对几乎没有编程经验的人。虽然它在涵盖基础知识方面做得非常出色,但它省略了许多高级主题,包括引用和 Perl 的对象系统。它包含许多练习,可以用作教科书。

The Essential Perl Books

Programming Perl(以“骆驼书”而闻名)是中级卷,也是对 Perl 最好的独立阐述。它描述了整个 Perl 语言,但仅提供了关于各种 Perl 扩展(例如用于 GUI 编程的 Perl/Tk)以及将 Perl 嵌入 C 应用程序的技术的提示。

如果您看过第一版的 Programming Perl,您会注意到第二版除了涵盖新的 Perl 5 功能外,还有许多变化。第一版相当奇怪和随意的组织结构已被修复——这是一个巨大的优点。另一方面,为了将本书的页数控制在 700 页以下,大多数完整的 Perl 程序示例已被删除。(Tom Christiansen 在圣何塞会议上证实,他正在编写一本单独的 Perl 食谱。)

The Essential Perl Books

Advanced Perl Programming 是一本为经验丰富的 Perl 高手准备的深奥知识之书。(可以公平地说,您必须精通骆驼书中的材料才能从这本“豹书”中受益。)在语言方面,它深入涵盖了引用、Perl 对象系统、类型团 (typeglobs)、eval、闭包、模块和持久对象技术。它还涵盖了使用 Perl/Tk 构建 GUI。最后三章详细介绍了扩展 Perl、嵌入 Perl 和 Perl 的内部机制。

Advanced Perl Programming 的作者通过将 Perl 与计算机科学和编程语言设计中令人印象深刻的广泛问题联系起来,阐明了 Perl。与此同时,他对 Perl 如何做事的讨论令人耳目一新地具体。他对 Perl 内部数据结构的图解对于揭开类型团等棘手主题的神秘面纱大有帮助。每章末尾系统地将 Perl 功能与其他语言中的类似物进行比较的部分非常有价值。最后,尽管 Srinivasan 先生显然热爱 Perl,但他并不害怕指出它的丑陋之处和偶尔的设计缺陷。作为计算机语言设计方面的专家,我发现他的评论始终是明智、深刻和得体的。

我在这本书中发现的唯一缺点是,有几章描述了作者最喜欢的 Perl 黑客技巧,但这些技巧并没有得到文本其余部分的有力推动。即便如此,Advanced Perl Programming 仍然是一次令人震惊的、持久的杰作,即使不是三本书中最好的一本,也肯定是智力上最令人兴奋的一本。

这三本书都写得很好,清晰易懂,并且(以最好的黑客传统)非常诙谐幽默。如果您只打算购买一本 Perl 书籍,那么应该是 Programming Perl,它完全可以作为该语言的案头参考书。认真的程序员会在 Advanced Perl Programming 中找到丰富的盛宴。Learning Perl 对于那些缺乏黑客天性的人来说,是一本令人满意且无威胁的入门书。

这三本书还在传播 Perl 文化方面做得非常出色——态度、笑话、使命感、与 Unix 传统的深厚联系以及自由软件文化。与 Linux 一样,Perl 的真正优势在于其爱好者的集体才能,而这些才能在这几本书中都得到了很好的展示。

的确,随着 Perl 继续扩展到 NT 和 Windows 环境,我们有理由希望 Perl 文化的传播将暗示着大量的静默颠覆,为人们接受 Linux 方式做好准备。即使这些书在许多其他方面并不出色,它们也会因此在 LJ 的页面上获得热烈的欢迎。

资源

The Essential Perl Books
Eric S. Raymond (esr@thyrsus.com) 是一位半定期的 LJ 撰稿人,他认为 Perl 非常棒,尽管他仍然对 Scheme 念念不忘。您可以在 http://www.ccil.org/~esr/ 上找到他的更多著作,包括他为圣何塞 Perl 会议撰写的论文。
加载 Disqus 评论