perl常问问题集--第一篇
目录
篇名
概述
Perl是什麽?
谁对 perl提供支援?由谁负责发展?它为什麽是免费的?
我该用哪一个版本的 Perl?
perl4和 perl5各代表什麽?
Perl的发展已稳定了吗?
Perl难学吗?
Perl和其他的程式语言比起来如何?例如 Java, Python, REXX, Scheme,或 Tcl?
我可以用 Perl来做【某种差事】吗?
哪些场合下不适合用 Perl?
「perl」和「Perl」有什麽不同?
Perl程式应算是 program还是 script?
JAPH是什麽?
到哪儿可拿到 Larry Wall的智慧讽语 (witticisms)?
我要如何取信、说服我的系统管理者/上司/属下使用第 5/5.004版的 Perl,而不去用其他的语言?
作者及版权事宜
--------------------------------------------------------------------------------
篇名
perlfaq1 - 概括性的 Perl 问题(原文版 Revision: 1.12, Date: 1997/04/24 22:43:34. 17:23:09.中译版 $Revision: 1.12 $ $Date: 1997/07/12 20:41:48 $)
--------------------------------------------------------------------------------
概述
本篇涵盖非常概括性、高层次的 Perl 问题。
--------------------------------------------------------------------------------
Perl是什麽?
Perl是一个高阶程式语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由 sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。Perl对 process、档案,和文字有很强的处理、变换能力,因此举凡有关快速原型设计、系统工具、软体工具、系统管理、资料库连结、图像程式设计、网路连结,和 WWW程式设计等之类的任务,都特别 适合用 Perl来做。这些特长不但使 Perl成为系统维护管理者和 CGI作者的宠儿,就连数学家、遗传学家、新闻从业者,甚至企业管理者也都用 Perl,所以或许您也该用。
--------------------------------------------------------------------------------
谁对 perl提供支援?由谁负责发展?它为什麽是免费的?
Perl自由开放的发行方式要归功於发烧前的 Internet的传统文化及其作者 Larry Wall。Perl是由使用者提供支援。现在 Perl的核心、标准程式库、选择性安装的模组,以及您现在正在阅读的使用说明都出自於义务者之手。详情请见 perl原始码发行版中所附的 README档案底部的私人注记。
值得一提的是,核心发展小组(称为 Perl Porters)的成员是一群高度热情奉献的人仕,全心投入发展出比您所能想像、用钱能买得到还要更好的免费软体。您可经由 news://genetics.upenn.edu/perl.porters-gw/ 和 http://www.frii.com/~gnat/perl/porters/summary.html取得关於新近发展计画 的情报。
尽管 GNU计画将 Perl囊括在它的发行中,但是没有叫「GNU Perl」这样的东西。 Perl既非自由软体基金会所创,亦非由其负责维护。Perl的发行条款同时也较 GNU软体更来得开放。
如果您愿意,您可以购买商业性的 Perl支援。但对大多数使用者来说,非正式性的支援通常已相当足够。详情请见「到哪里可买到商业性的 Perl支援」一问的回 答。
--------------------------------------------------------------------------------
我该用哪一个版本的 Perl?
您绝对该用第五版。第四版不但老旧、功能较局限,而且已经不再维护了。它最後 一次的修正 (4.036)是在 1992年。Perl最新的量产发行版本是5.004。等到您 读这篇文章时,我们可能已经又发行了几个正式的除错版本,同时大概又会有些替 下一版 路的实验版出来。本文由此开始凡提及 Perl语言,皆以目前的量产发行 为准,除非另外特别注明。
--------------------------------------------------------------------------------
perl4和 perl5各代表什麽?
perl4 和 perl5 是对 Perl程式语言的两个不同版本的非正式称呼,因为说「perl5」要比说「第 5(.004)版的 Perl」要来得简单。但是有些人误将其会意为:perl5是一个单独的语言;这是不正确的。perl5只不过是对第五个主要发行版本(1994年 10 月)常用的称呼罢了。就像 perl4是指第四个主要发行(1991年 3 月),还有 perl1(1988年 1月)、perl2(1988年 6 月),以及 perl3(1989年 10 月)。
5.0的发行基本上是从零开始,所有程式码完全重新写过的版本。它已经被模组化、物件导向化、微调、精简化,及效率化,以致程式码几乎已变得和原来的不相同了。尽管如此,使用介面大致上仍然相同,而且和先前的版本之间保持了很高的 一致性。
为了避免「perl5是什麽语言?」这类的混淆,有些人索性完全避免「perl5」, 而单用「perl」来指称最近的 perl版本。其实用不着这麽累就是了。
--------------------------------------------------------------------------------
Perl的发展已稳定了吗?
融合了除错和新功能的量产发行在推出前皆经过广泛的测试。自 5.000发行以来, 我们平均一年才出版一次量产发行。
Larry 和 Perl发展小组有时候会修改语言的核心部分,但总是尽一切力量让新版 和旧版保持一致。因此,尽管不是所有的 perl4 scripts都能在 perl5 之下跑得天衣无缝,因升级而导致按照先前版本的 perl所写的程式无法使用的情形几乎不曾发生(除非该程式倚赖已经被去除的 bugs,或使用了极少数新加入的指令来 命名)。
--------------------------------------------------------------------------------
Perl难学吗?
Perl不但容易上手,也容易继续学下去。它看起来和大多数您可能已接触过的语言一样。所以如果您只写过 C 程式、或 awk script、shell script,或甚至只是 Excel的 macro(巨集),您已经在半路了。
大多数的任务只需要 Perl语言的一小部分即可完成。发展 Perl程式的座右铭即 是「不只一种方法可以达到」(TMTOWTDI; There's More Than One Way To Do It, 有时读作「堤姆投迪」)。因此,Perl的学习曲线是既平(易学)且长的 (如果您要的话,有一大堆够您学的)。
最後,Perl(通常)算是解译式的语言。也就是说您写了程式後不需经由一道中 间的编码过程即可测试;这让您可以很快、很容易地测试及除错。这个方便试验的 特性又让学习曲线变得更加平坦。
有助於修习 Perl 的一些事:UNIX经验、对几乎是任何一种程式语言的经验、了解 regular expressions(正规表示法),以及看得懂旁人写的程式的能力。如果您有什麽想用 Perl来做的事,那麽可能已经有前人做过了,而且实例通常
Tags:perl,常问,问题,一篇

