好学IT学院:IT信息技术分享交流平台
来源:互联网  作者:未知  发布时间:2007-12-07  ★★★加入收藏〗〖手机版
perl语言详解
摘要:Perl最初的设计者为拉里·沃尔(LarryWall),它于1987年12月18日发表。Perl借取了C、sed、awk、shellscripting以及很多其他程序语言的特性。…

然后大管理员让他生成报告。新闻是在核心机器里的一个独立的文件里维护的,里面有许多文件间的交叉引用。Larry 的第一个反应是“用 awk。”糟糕的是,那个时候的 awk 无法做到以文件里的信息为基础打开和关闭多个文件。Larry 不想编写一个特殊目的的工具。结果就是产生了一种新的语言。

最初这种新的语言并不叫 Perl。Larry 和他的同事及亲友(Dan Faigin,写这段历史的人,和 Mark Biggar,他的妻弟,在初始设计阶段帮了大忙)交换了一大堆名字。实际上 Larry 考虑并抛弃了字典里的所有三个或四个字母的单词。最早的名字是“Gloria”,以他的宝贝(和老婆)命名。但他很快就发现这样会产生太多家庭混乱。

然后名字就成了“Pearl”,最后它变成了我们现在的“Perl”,部分原因是 Larry 看到另外一种叫 PEARL 的语言的介绍,但最主要的原因是他懒得总要敲五个键。当然,这样 Perl 就可以用做一个四字母的词。(不过,你会注意到,这里有以前首字缩写的残余: “Practical Extraction And Report Language”。)

最早的 Perl 没有今天的 Perl 那么多的特性。那时候有模式匹配和文件句柄,有标量,有格式化,但是很少有函数,没有相关的数组,而且只有一个实现得不怎么样的正则表达式,(从 rn 借来的)。手册页也只有 15 页。但是 Perl 比 sed 和 awk 快,并且开始在该项目的其他应用里使用。

但是其他地方又开始需要 Larry 了。有一天另外一个大经理来了并且说:“Larry,给 R&D 做支持。”并且 Larry 说,好吧。他带上 Perl 并且很快发现它逐渐成为系统管理的好工具。他借来 Henry Spencer 漂亮的正则表达式软件包并且把它变成更有男人味(不过 Henry 可能不会愿意在正餐的时候考虑这些特性。)然后 Larry 增加了大部分他想要的特性,以及一些别人想要的特性。然后它就把 Perl 发布到网络上。(注:更让人吃惊的是,他先后工作于喷气推进实验室(JPL),然后是 NetLabs? 和 Seagate 之后,仍然不断发布新 Perl。现在,其他人做了大部分工作,而 Larry 假装为 O'Reilly & Associates(一个小公司,印刷关于计算机和相关事物的小册子。)其余的就是历史了。(注:而这些东西,是历史的一个注解。当开始 Perl 的工作的时候,Larry 已经把 rn 分解成碎片,并且准备做一次全面的重写。但因为他开始在 Perl 上干活,所以 Larry 没有再碰 rn。它仍然是碎片。有时候 Larry 说要用 Perl 重写 rn,但是从来没当真。)

然后事情的发展就是这样的:Perl 1.0 在 1987 年十二月十八日发布;有些人仍然很认真地对待 Perl 的生日。Perl 2.0 在 1988 年六月发布,并且 Randal Schwartz 开始了“另外一个 Perl 黑客”的签名的传奇。在 1989 年,Tom Christiansen 在巴尔的摩 Usenix 拿出了第一个公开的 Perl 教程。1989 年十月的 Perl 3.0开始,这门语言第一次以 GNU 公众版权(GPL)发布和分发。

1990 年三月,Larry 写了第一首 Perl 小诗(见下一节)。然后他和 Randal 写了本书的第一版,The Pink Camel;该书在 1991 年早期发行。然后 Perl 4.0 就立即发布了;除 GPL 之外,它还包括了 Artistic License(艺术版权)。

万众期待的 Perl 5 在 1994 年十月发布。这是一个完全重写的 Perl 版本,它包括对象和模块。Perl 5 的到来甚至连 The Ecomomist 杂志都提到。到了 1995 年,正式向 Perl 社区引入 CPAN。在 1996 年,Jon Orwant 开始出版 The Perl Journal 杂志。在长时间的猜测之后,本书的第二版,The Blue Camel,在那年的年末出版。第一次 O'Reilly Perl 大会(TPC) 1997 年夏季在加州 San Jose 举行。现在,重大时间几乎是每天都在发生,所以,关于历史的其他部分,请检查 CPAST (Comprehensive Perl Arcana Society Tapestry (history.perl.org))上的 Perl 纪年表。