Intermediate Perl 第一章 序言

欢迎来到理解Perl的下一个阶段。 你来到这里可能是因为你想学写超过100行的Perl程序,又或者是因为你的老板让你学的。

看, 我们的Learning Perl一书是很了不起的, 因为它介绍了如何在短的到中等长度的程序中使用Perl(用Perl所做的绝大多数编程都是如比)。但是为了避免“美洲驼书”(Learning Perl)变得太大让人恐惧, 我们刻意地小心地省略掉了很多地内容。

在接下来的内容里, 你可以得到“故事的剩下的部分”, 它是同我们的好朋友“Learning Perl”中同样的风格的。它涵盖了你写100到1000行长的程序所需要的知识。

例如, 你将学习到怎样和许多程序员在同一个项目上工作。这是很棒的, 因为除非你每天工作35个小时, 你在大的项目上是需要帮助的。你同样得确保当你在你的代码上进展到最终的应用的时候, 你的代码和别人的代码是能够一致的。

这本书同样向你展示了如何处理更大的更加复杂的数据结构, 比如像我们或许会称作的“哈希的哈希” 或者“array of arrays of hashes of arrays”. 一旦你知道了点references(引用), 你就开始进入到了任意复杂的数据结构的领域了。

接着就是面向对象编程这个时髦的观念了, 它允许同一个项目里, 在有着微小或者重大变动的情况下, 可以部分重用你的代码(如果运气好的话,别人的代码)。

团队合作的一个很重要的一方面是有着发布周期以及单元测试还有整合测试。你将学习到基础的把你的代码打包成一个distribution(发布版本)以及为这个distribution提供单元测试。这既是为了开发, 也是为了验证你的代码在最终的环境里是行得通的。

正如我们在Learning Perl中承诺以及递交的那样, 我们将会以有趣的例子和坏坏的双关语来一路娱乐你。(我们们已经将Fred, Barney, Betty, 还有wilma遣送回家了。一组新的面孔将会扮演主要的角色。)

你应该已经知道的

我们将假设你读过了Learning Perl, 或者至少假装你读过了。并且你使用Perl有足够的经验了, 达到了把那些基本的东西消化吸收的程度了。比如你将不会在本书中看到解释如何去获取一个数组的元素或者从subroutine中返回一个值。

请确认你知道以下的事情:

  • 怎样在你的系统中运行一个Perl程序。
  • 三个基本的Pelr的变量类型:标量, 数组,还有哈希。
  • 控制结构, 诸如while, if, for 以及 foreach。
  • Subroutines(子程序)。
  • Perl操作符, 诸如grep, map, sort, 还有 print。
  • 文件操作, 诸如open, file reading, 还有 -X(文件测试)。

你可能会在本书中获取到关于这些话题的更深的见解,但是我们将假设你知道这些基础知识了。

关于那些脚注

像在Learning Perl中一样, 这本书把一些初次阅读时会感到生僻的内容降级到脚注里去。你应该在初次阅读的时候跳过那些内容,然后在重读的时候再拾起来。你将不会在脚注中发现在接下来的章节中的内容需要的知识。

关于练习

实际动手操作的训练会让你更好的完成这件工作。最好的提供这种培训的方式就是在半个到一个小时的内容展示之后, 提供一系列的练习题。当然如果你是个快速阅读的人的话, 你结束一章的阅读可能并不需要半个小时。 放慢速度, 深呼吸, 然后做练习。

每一个练习题都有一个“多少分钟能完成”的评级。我们是想用这个评级来表示完成这个联系所需要的最长的时间, 知识如果你花的时间比所示的时间长或者短很多的话, 请不要感觉糟糕。有的时候只是你在你的学习或者工作当中遇到了多少次同样的编程任务的问题而已。

每个问题在附录中都有答案。请不要偷看哦, 要不要你就毁了这些习题的价值了。

如果我是一个Perl的授课老师怎么办?

如果你是一个决定使用本书来作为你的教材的授课老师, 你应该知道每一组问题, 都是足够的短到了让一个学生在45分钟到一个小时内完成, 而且还会有点时间留下来休息。有的章节的练习题会很快的得到解决, 有的可能得花更长的时间。那是因为一旦那些在中括号中的数字被写好了, 我们发现自己已经不知道该如何往上加了。

那么就让我们开始吧。在你翻开此页之后课程就开始了。。。