Perl常见问题集锦

本文和大家重点讨论一下Perl常见问题,Perl是一个高阶程式语言,由LarryWall和其他许多人所写,融合了许多语言的特性,请看本文的详细介绍。

Perl常见问题集合
  
◆Perl常见问题一: Perl是什么?

Perl是一个高阶程式语言,由LarryWall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的C语言,其次由sed、awk,UNIXshell和至少十数种其他的工具和语言所演化而来。Perl对process、档案,和文字有很强的处理、变换能力,因此举凡有关快速原型设计、系统工具、软体工具、系统管理、资料库连结、图像程式设计、网路连结,和WWW程式设计等之类的任务,都特别适合用Perl来做。这些特长不但使Perl成为系统维护管理者和CGI作者的宠儿,就连数学家、遗传学家、新闻从业者,甚至企业管理者也都用Perl,所以或许您也该用。


◆Perl常见问题二 谁对Perl提供支援?由谁负责发展?它为什麽是免费的?

Perl自由开放的发行方式要归功於发烧前的Internet的传统文化及其作者LarryWall。Perl是由使用者提供支援。现在Perl的核心、标准程式库、选择性安装的模组,以及您现在正在阅读的使用说明都出自於义务者之手。详情请见Perl原始码发行版中所附的README档案底部的私人注记。

值得一提的是,核心发展小组(称为PerlPorters)的成员是一群高度热情奉献的人仕,全心投入发展出比您所能想像、用钱能买得到还要更好的免费软体。您可经由news://genetics.upenn.edu/Perl.porters-gw/和http://www.frii.com/~gnat/Perl/porters/summary.html取得关於新近发展计画的情报。

尽管GNU计画将Perl囊括在它的发行中,但是没有叫「GNUPerl」这样的东西。Perl既非自由软体基金会所创,亦非由其负责维护。Perl的发行条款同时也较GNU软体更来得开放。

如果您愿意,您可以购买商业性的Perl支援。但对大多数使用者来说,非正式性的支援通常已相当足够。详情请见「到哪里可买到商业性的Perl支援」一问的回答。


◆Perl常见问题三 我该用哪一个版本的Perl?

您绝对该用第五版。第四版不但老旧、功能较局限,而且已经不再维护了。它最後一次的修正(4.036)是在1992年。Perl最新的量产发行版本是5.004。等到您读这篇文章时,我们可能已经又发行了几个正式的除错版本,同时大概又会有些替下一版路的实验版出来。本文由此开始凡提及Perl语言,皆以目前的量产发行为准,除非另外特别注明。


◆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常见问题五 Perl的发展已稳定了吗?

融合了除错和新功能的量产发行在推出前皆经过广泛的测试。自5.000发行以来,我们平均一年才出版一次量产发行。

Larry和Perl发展小组有时候会修改语言的核心部分,但总是尽一切力量让新版和旧版保持一致。因此,尽管不是所有的Perl4scripts都能在Perl5之下跑得天衣无缝,因升级而导致按照先前版本的Perl所写的程式无法使用的情形几乎不曾发生(除非该程式倚赖已经被去除的bugs,或使用了极少数新加入的指令来命名)。


◆Perl常见问题六 Perl难学吗?

Perl不但容易上手,也容易继续学下去。它看起来和大多数您可能已接触过的语言一样。所以如果您只写过C程式、或awkscript、shellscript,或甚至只是Excel的macro(巨集),您已经在半路了。
大多数的任务只需要Perl语言的一小部分即可完成。发展Perl程式的座右铭即是「不只一种方法可以达到」(TMTOWTDI;There'sMoreThanOneWayToDoIt,有时读作「堤姆投迪」)。因此,Perl的学习曲线是既平(易学)且长的(如果您要的话,有一大堆够您学的)。

相关推荐