Perl 编程系列
用 Perl 模块进行解析 |
Perl 的主要目标之一是解析文本。本教程讨论了用于文本解析的 CPAN 模块,并展示了如何在您自己的程序中方便地使用它们。通过使用一些正确的工具,可以使分析代码注释、改编现有记载(lex)文法和许多其它任务变得容易。考虑到实际编程,Teodor 演示了每个任务的示例。 |
功能丰富的 Perl: 编写说英语的 Perl 程序 |
设计程序的用户界面可能很困难而且耗时。Teodor Zlatanov 讨论了如何使用 Parse::RecDescent 模块来用简单的英语创建用户界面文法。他还展示了向程序添加功能或从程序除去功能时,更改文法是如何的方便。另外还与标准的 CLI 解析器和 GUI 进行了比较,讨论了这种方法的优缺点。 |
Cultured Perl: 《Programming Perl》 第三版简介 |
《Programming Perl》 第三版的发行,无疑是 Perl 世界中又一重大事件。这本四年之后再版的书增添了 Perl 5.6.0 方面的新内容,页数几乎增加了一倍。除了修订原有内容以外,还阐述 Perl 5.6.0 版发布前所经历的变化。 |
Cultured Perl: 吸引 C 和 Java 程序员目光的 Perl 5.6Perl 5.6 的新特性在哪些方面优于 C/C++/Java ? |
笔者侧重于阐述 Perl 与 C 或 Java 不同的独特之处。您一定会为 Perl 这些在其他语言中看不到的特性而心花怒放:操作符的容错能力、一项任务多种实现、标点、正则表达式以及变量机制等。所有这些都赋予您的手指更灵活的魔力。在某些方面 Perl 的确能给 C 和 Java 程序员很多有用帮助,可惜目前它还远达不到众所周知的程度。因此,抓紧机会提高您的 Perl 水平吧! |
Cultured Perl:轻松调试 Perl |
Teodor Zlatanov 将带您体验内置 Perl 调试器和 CPAN 的 Devel::ptkdb。Perl 调试器功能强大,但不易操作。另一方面,CPAN 的 Devel::ptkdb 则通过简化代码调试创造了奇迹,并因而节省了您的宝贵时间。在本文的讨论中,Zlatanov 没有讲述某个特定工具,而是集中于解释调试方法和一般概念。 |
Perl:化繁为简提高 Perl 代码的可靠性和可维护性的简单技巧 |
用 Perl 语言完成作业很容易。设计这种语言的目的是使简单的任务更容易,使困难的任务有可能完成。可是,该语言内置的简易性可能是一个陷阱。程序员生来讨厌编写文档或设计程序的体系结构。编写纯代码的刺激在于与机器直接沟通,明确告诉它要做什么。Teodor Zlatanov 介绍了通过增加代码的清晰性提高 Perl 程序的可靠性和可维护性的技术。他的提示适用于初级或中级 Perl 程序员,着重强调建立好的标准而不是更改特殊的编码样式。 |
更佳编程之路:简介与第 1 章 |
欢迎来到 developerWorks 阅读全面指导如何更好地用 Perl 编程的系列文章。在这一系列文章的第一部分里,Teodor 介绍了他写的书,并以一种崭新的观点来论述编码指南。 |
更佳编程之路: 第二章 |
developerWorks 上的这个系列文章包含使用 Perl 进行更佳编程的完整指南。在这第二部分中,Teodor 仔细研究了代码中的注释。对于软件团队的长期目标来说,程序代码中的注释可能与实际代码本身一样重要。不幸的是,它们经常也是最容易被忽视的。通过技巧、讲解、示例和轶事,Teodor 从头到尾深入讨论了对程序语言进行注释的迫切本质。 |
更佳编程之路: 第三章 |
本 developerWorks 文章系列完整介绍了如何用 Perl 进行更佳的编程。在本文(也是本系列的第三部分)中,Teodor 简要介绍了 Perl 循环语法,条件语句以及如何编写整洁(clean)的代码。虽然本章不打算从头开始教您 Perl,但它对那些有兴趣学习如何将 Perl 更好地应用到日常工作中的初级和中级 Perl 程序员来说将十分有用。 |
更佳编程之路: 第四章 |
developerWorks 上的这个文章系列包含一个有关如何用 Perl 进行更佳编程的完整指南。在本文(也就是第四部分)中,Teodor 介绍了函数型编程和几个基本的 Perl 习惯用法,如 map() 和 grep() 函数以及 Schwartzian 和 Guttman-Rosler 变换,它们对于那些追求代码的执行速度和优雅性的 Perl 程序员来说十分重要。 |
更佳编程之路: 第五章 |
本 developerWorks 文章系列完整介绍了如何用 Perl 进行更佳编程。在本文(也是本系列的第五部分)中,Teodor 解释了什么是面向对象编程,何时使用它以及它是如何在 Perl 中工作的。面向对象编程(OOP)是一种强大的编程技术,但它不是万能药。优秀的程序员必须理解如何使用它,并且必须知道何时依赖更传统的编程技术。在 Perl 中使用 OOP 很简单。与 C++ 和 Java 等限制性更强的 OOP 语言不同,Perl 中的 OOP 很少对程序员施加强制性约束。OOP 是对每一名程序员的工具箱的必要补充,并且是用于扩展可用 Perl 解决的问题范围的非常有用的技术。 |
功能丰富的 Perl: 使用 Perl 自动化 UNIX 系统管理 |
UNIX 系统管理总是一个棘手的问题,运用正确的工具会使这个问题变得容易。在这一部分中,Teodor 提出了关于使用 Perl 来简化和牢固系统管理的想法。在这种环境中,系统配置引擎 cfengine 是一个极其重要的工具。 |
功能丰富的 Perl: JAPH 的精致 |
Perl 文化的支柱 JAPH 就是一小段输出“Just another Perl hacker”的脚本。尽管是为 Perl 的初级或中级程序员撰写的,本文分析的几个 JAPH 风格的简单示例却能让即使经验最丰富的 Perl 爱好者也感到惊讶,并吸引他们参与。本文的作者 Teodor Zlatanov 是一位 Perl 专家,他从 1992 年起就开始在社区中工作了,除了其他一些工作,他专门研究有关文本解析的开放源代码工作。 |
功能丰富的 Perl: Perl 用于实现遗传算法 |
遗传编程建立在达尔文适者生存的自然选择法则的基础之上,利用变异和复制来生成算法,该算法可创建不断改进的计算机程序。在本专栏里,您将开始了解用浅显的术语表述的遗传算法。Ted 给出了几种特定的任务的 Perl 实现,您可以用于广泛的用途。为了示范遗传算法,Ted 繁殖了一些数字和字母,应用于公式以测试这些数字的适应性,而繁殖的字母则形成了英语单词。 |
功能丰富的 Perl:介绍用于系统管理的 cfengine |
cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。它的目标是使系统从任何状态收敛(convergence)到一种理想状态。依照它的作者 Mark Burgess 所说,cfengine 总是使您的系统更接近于您所定义的配置; 它决不会使系统变得更糟。在本文中,Ted 通过演示一些简单的 cfengine 使用,使您熟悉这一独特的系统管理工具。 |
功能丰富的 Perl:遗传算法,下一代 |
Ted 将带您进一步了解如何使用 Perl 遗传算法。他将继续研究他在其有关遗传算法的第一篇专栏文章中未完成的主题:使用列表,该列表寻找某一个体的 DNA 中的一组字典单词。 |
功能丰富的 Perl:用 Perl 保存数据持久性的 CPAN 解决方案 |
数据存储是计算机编程中常见的问题。CPAN Persistent 类通过一个简化数据创建、检索和管理的通用接口,使数据存储变得简单。通过面向对象的方法,可以在项目中将 Persistent 类作为自己的数据类的父类透明地使用。 |
功能丰富的 Perl:用 Perl 读写 Excel 文件 |
直到最近才开启了通往 Microsoft Excel 这个最流行的桌面电子表格应用程序的大门。本文研究了在 Windows 和 Linux 中如何使用 Perl 和几个简单模块读写 Excel 文件。 |
使用 MakeMaker 构建 Perl 项目 |
如果已经使用了一段时间 UNIX 或 Linux,可能编写过一些 Perl 程序来自动完成简单任务。这些程序的每一个都完成某些基本的和简单的事情,用手工完成这些事情可能需要 10 到 20 分钟。在本文中,Sean 将向您显示如何将这样一个 Perl 程序转换成更健壮的编程项目,从而更适合广泛分发到许多完全不同的平台上。 |
用 Perl 来创建可重用的 Web 应用程序 |
本文阐述了 Perl 面向对象的执行能简化工作,特别是因为其分布式设计及应用程序的功能性能使其比其他 Web 技术更为有效。 |
在 Perl 中使用内联 |
新的 Perl 内联模块允许您使用其他语言编写代码(如 C、Python、Tcl 或 Java),并将其随意地放进 Perl 脚本中。不像以前将 C 语言代码与 Perl 进行连接的方法那样,内联的使用将非常简便,尤其是在与 Perl 体系保持一致方面更加出色。内联的一个非常实用的地方是可以依据 C 语言的库编写出快速包装代码并将在 Perl 上使用它,这样(就我而言)就可以将 Perl 变成世界上最好的测试平台。 |