翻译尊重原版,以自己的方式最大化地阐述原版内容。
更多内容请访问www.from0701.com。每周更新两章。
欢迎来到perl学习的下一阶段。你来这儿的理由可能是你想编写100行以上的代码或者仅仅是你的老板要求你这么做。 我们的《perl语言入门》如此伟大是因为他介绍了如何用perl编写中小型程序(在我们看来,这是perl最普遍的用途)。但是为了不让我们的“小骆驼书”太厚重,我们有意并且小心地移除了很多内容。 接下来,我们将用和小骆驼书一样的风格去继续我们的故事。这儿包含了编写100-10000行(也许更多)代码所需要的知识。 例如,你可以学会怎样通过编写可复用的perl模块在一个项目中加入多个程序。这是伟大的,除非你每天工作35个小时,不让你就需要他人的帮助去完成较大的任务。在大型项目中你还得确保各个部分代码的通用性。 这本书还会告诉你如何处理复杂的数据结构,像是我们可能随意说出的“多维哈希”或者“哈希数组”。一旦你掌握了一点关于引用的知识,你就踏上了处理复杂数据结构之路,这会让你的生活轻松许多。 我们还会简单介绍一下面向对象的编程,这个能让你的代码多次使用。 团队编程的重要方面是版本控制和单元测试。你将学习最基本的程序打包和单元测试。 正像我们在小骆驼书中承诺的一样,我们将以有趣的例子来吸引你。尽管我们把Fred,Barney,Betty和Wilma送回家了,新的人物会成为我们的明星角色。
我们应该已经知道什么?
我们假设你已经读了小骆驼书,而且至少是第五版,或者至少假装你做了,并且你已经做了足够的练习去掌握这些基本知识。举例来说,你不会在本书中看到关于如何选取数组元素或者从子函数返回值的解释。 确保你已经掌握了一下内容,所有这些小骆驼书里都有:
- 怎样在你的系统中运行一个perl程序
- 基本的perl变量类型:标量,数组和哈希
- 控制结构,像是while,if,for和foreach
- 子程序
- 基本的正则表达式
- 列表操作符,像是grep,map,sort和print
- 文件控制像是文件打开,文件读取,-X(文件测试)
你可能会在本书中看到关于这些话题更深的讨论,但是我们假设你已经知道这些基本知识。 本书最后部分讨论发布和贡献程序到CPAN。你首先需要申请一个PAUSE账号,网址:http://pause.perl.org/pause/query?ACTION=request_id.
strict and warnings
我们在小骆驼书中介绍了strict和warnings,并且我们希望你们在所有代码中使用。你在本书中看到的大部分代码都默认打开了strict和warnings,所以我们省去了这些重复代码,就像我们省去#!/usr/bin/perl(perl解释器位置)一样。当我们演示一个完整的程序的时候,我们也会把这些包含在内。 你也许想做我们做的事。你可以打开一个包含通用代码的模版,而不是从头编辑。在你开发自己模版,完成标准文档,找到你做事的最佳方式之前,你可以使用一个简单的,假定一下代码包裹着你的程序: #!/usr/local/bin/perl
use strict;
use warnings;
__end__
perl v5.14
本书顺应perl5.14及其后续版本的新特征而更新。通常,语言的底层在每个版本都很稳定。我们使用的一些模块可能更新了,特别是那些随perl一起发布的模块。因此我们通常展示perl最基本的观点,仅仅简单浏览模块,你在使用模块前应该查看模块参考手册。 一些新特性需要我们明确声明使其也适用于较早的版本。最早的方式是告诉perl我们需要使用哪个版本。数字5.014需要在小数点后有三个数字:
use 5.014;
say "Hello World";
你也可以写成以下两种形式:
use v5.14.2;
use 5.14.2;
无论何时,我们要用到一些特定版本的特征来编写代码,我们都会插入use v5.14.2这样的行来确保该特征可用。如果可能我们也会展示一个老版本可用的代码。我们认为发布于2002年的perl 5.8是每个人应该使用的最早版本。通常,我们会尽力去写出一个尽可能在较多版本运行的代码,但是我们也希望像你一样与时具进。 想要了解关于perl5.14的更多内容,请参考小骆驼书第六版。