"Advanced Perl Programming" 是一本由 Sriram Srinivasan 编写的权威Perl编程指南,英文版,共434页,首次发行于1997年8月。这本书深入介绍了Perl语言的高级特性,包括数据引用、匿名存储、复杂数据结构的实现、类型glob和符号表、子程序引用和闭包、eval函数、模块、面向对象编程、对象持久化、网络编程、图形用户界面以及代码生成等主题。
在书中,作者首先探讨了数据引用和匿名存储的概念,这对于理解和处理复杂的Perl程序至关重要。数据引用允许程序员创建灵活的数据结构,如数组引用、哈希引用和子数组引用,而匿名存储则提供了一种无需命名即可存储和传递数据的方法。
第二章到第四章涵盖了实现复杂数据结构(如关联数组、链表、树等)的技巧,以及类型glob和符号表的使用。类型glob是Perl中一个特殊的数据类型,用于访问文件句柄、子程序、变量等。符号表则是Perl内部用于跟踪所有变量和子程序的地方。
第五章涉及`eval`函数,这是一个非常强大的工具,可以执行字符串中的Perl代码,对动态编程和错误处理有重要意义。第六章介绍了Perl模块的概念,模块是封装功能的代码单元,可重复使用和分发,是大型Perl项目的基石。
第七章至第九章讲解了面向对象编程的基础和扩展,包括类的创建、继承、多态等。`tie`函数在第九章被介绍,它允许将数据结构与特定的行为绑定,提供了一种灵活的接口来扩展Perl内置类型。
第十章至第十二章涉及网络编程,涵盖Socket编程基础,以及远程过程调用(RPC)的实现。这些章节帮助读者构建网络应用程序和服务。
第十三章至第十五章介绍了使用Tk库创建图形用户界面(GUI)的基本知识,通过两个实际的例子——Tetris游戏和Man Page Viewer,展示了如何创建交互式应用。
第十六章和第十七章讨论了模板驱动的代码生成,这是一种将数据和逻辑分离,提高代码可维护性的方法。
第十八章和第十九章则进入了Perl的扩展和嵌入领域,对于希望编写Perl核心扩展或在其他语言中嵌入Perl的人来说,这部分内容尤为关键。
最后,书中有附录A的Tk小部件参考和附录B的语法总结,以及大量的示例代码供读者实践。
"Advanced Perl Programming" 是一本面向中高级Perl开发者的全面教程,它涵盖了Perl的高级特性和实践,对于提升Perl编程技能和解决复杂问题具有极大的价值。