在这里推荐我们论坛www.ywjs.net 学习Perl语言的好地方,论坛跟PerlChina协会群合作
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来做的事,那麽可能已经有前人做过了,而且实例通常可免费取得。还有别忘了新的 Perl模组。模组在这份 FAQ 的第叁部分有详细的讨论,还有【别忘了您的好朋友】 CPAN,这会在第二部分谈到。
Perl和其他的程式语言比起来如何?例如 Java, Python, REXX, Scheme,或 Tcl?
Perl在某些地方比较好,某些地方较差。精确地说到底哪些方面好或坏通常视个 人偏好而定,所以在新闻讨论群中问这种问题很可能会掀起一场毫无建设性的圣战。
要比较各语言的异同最好的方法是试着用不同的语言写功能相同的程式。各程式语言都各有属於它们各自的新闻讨论群,您可从中学习(但希望您不是去和人辨论吵 架的)。
我可以用 Perl来做【某种差事】吗?
Perl有足够的弹性和扩充性,从只需要写短短一行的档案处理工作到复杂的系统,几乎没有什麽做不到的。对有些人来说,Perl的是拿来做写 shell程式的理想替代品。其他人则用高阶的 Perl来替代处理许多原先需要用 C或 C++ 一类的低阶语言来达到的程式。哪些差事决定要用 Perl来处理,这一切都得看您(或许还有您的经理...)。
如果您有一个提供 API的程式库的话,您可用 C或 C++来写一个 Perl 延伸,然後便可透过它将程式库中的任何一部分动态载入您的 Perl主程式中。您也可以 反过来,用 C或 C++来写主程式,然後以即时动态载入的方式插入一些Perl程式码,产生一个威力强大的应用程式。
话虽如此,对解决某些特定的问题,使用小型、专精,专为特殊用途设计的语言总 是比较方便的。 Perl的设计是尽力地满足各种不同人的需要,因而不特别偏颇任何人。至於特殊功能语言的例子,随便举两个,譬如 prolog 和 matlab 便是。
哪些场合下不适合用 Perl?
当您的主管禁止的时候 -- 不过请务必考虑把他们换掉 。
说真的,如果您已经有用另一个语言写成的应用程式(而且写得很好)的时候,或 者是已经有替某些特定的工作设计的语言(例如:prolog, make),这个时候就不 需要用 Perl。
由於种种因素,Perl大概不太适合拿来做即时内嵌式系统、属於低层级的作业系统发展工作,例如周边设备的 drivers或环境转换码、复杂的多线共用记忆体应用程式,或非常大的应用程式。您会发现 Perl 本身便不是以 Perl写成的。
刚出炉的 Perl纯码编译器或许可帮忙去除一些上述的限制,但您要了解:Perl在本质上仍是一活性变数语言 (dynamically typed language),而非固性变数 (statically typed)。只要您不将核电厂或脑科手术监视器所用的程式放心地用 Perl来写,您自然就不会闯祸遭殃。这样 Larry晚上也可以睡得安稳些 --股市分析程式不在此限 。
「perl」和「Perl」有什麽不同?
二者差一个位元。喔,您不是说在 ASCII上的差别啊? Larry 现在用「Perl」来代表语言本身,而以「perl」来表示该语言的体现,即目前的解译器。因此,作者有句幽默小语说:「只有 perl可以解译 Perl」。要不要遵照这个用法是您的自由。举一反叁的话,我们可依样画葫芦地说「awk 和 perl」还有「Python 和 Perl」,但却不可将「awk 和 Perl」或是「Python 和 perl」摆在一起。
Perl程式应算是 program还是 script?
都无所谓。按标准术语来讲,program指已经由编译程序编译好、转为机器码,可多次执 行的程式;而 script则是每次执行时都必须透过一个解译程式来解译。然而,Perl程式严格说来,既非编译 (compiled) ,亦非解译式 (interpreted);因 Perl程式可转译成位元码形式存在(可说是某种 Perl虚拟机器 [virtual machine]),或转译为完全不同的语言,如 C或组合语言。所以光看原始码很难 说它到底是替纯解译器、或是 parse-tree解译器、位元码解译器,还是纯码编译器而写;因此这题很难给它一个确切的答案。
JAPH是什麽?
这是过去一些在讨论群中自称 ``just another perl hacker'' 的人的签名档,约有一百个比较早期的,可在 http://www.perl.com/CPAN/misc/japh 取得。
到哪儿可拿到 Larry Wall的智慧讽语 (witticisms)?
一百多条 Larry的讽语,源自他【在讨论群】的 posts或原始码,可在http://www.perl.com/CPAN/misc/lwall-quotes 取得。
我要如何取信、说服我的系统管理者/上司/属下使用第 5/5.004版的 Perl,而不去用其他的语言?
如果您的管理阶层或属下对没有支援的软体,或是未正式包含在所购买的作业系统中的软体存有戒心的话,您可以试着从有助他们自身利益这方面下手。因为如果程式设计师能由善加利用 Perl的结构、功能性、简单性,和威力而获得更大的生产力的话,那麽典型的管理者/上司/员工或许便可因而加以说服。此外,使用 Perl,总的来讲,和其他语言相较,或许也有助於减少交件的时间。强调这个论 点或许对说服他们会有帮助。
如果您的专题碰到瓶颈,特别是有关转译或测试方面的问题,那麽 Perl可以说绝 对会是一个既可行且快的解决之道。您在当说客的时候,千万别忘了要提:Perl已被世界上许多大型的软硬体公司广泛、大量地使用,极为可靠、有效。事实上,现 Perl已成为许多 Unix业者所售的作业系统的标准配备了。而且如果您无法在 详尽的使用说明,包括这份 FAQ之中为您的问题找到解答的话,送封 post 到新闻讨论群即可。
如果您面对反对 perl升级的声音,那麽告诉他们 Perl发展小组已经完全不再维护或支援第四版的 perl了。perl5的另一个大卖点是它有大量的模组和延伸,可大大减少计画的发展时间。还有,告诉他们第四和第五版 Perl之间的差异就如 awk 和 C++的差别一样(嗯,或许没有差得那麽明显,但您知道我的意思就好)。如果您想得到支援而且想确保您现在所发展的软体在未来能继续工作的话,那麽您得跑有支援的版本。这大概也就是说要跑 5.004 版的,尽管 5.003 版仍算是不错(它只落後一年、一版)。不过因为有些严重的 bugs曾在 5.000 和 5.002版之间被消除,所以您至少应升级到比这几个版本高才是。
哪些平台上有 Perl?要到哪里去找?
Perl的标准发行版(由 perl发展小组负责维护)仅以原始码形式发行。您可在 http: //www.perl.com/CPAN/src/latest.tar.gz处取得。这个档案的格式是 POSIX tar档案柜,再以 gzip格式压缩。这套原始码完全不需任何移植工作便可轻易地在绝大多数的 Unix系统(Perl的原生系统),以及 Plan 9、VMS、QNX、 OS/2 ,和 Amiga上编译安装完成。尽管有谣传说(即将推出的)第 5.004版或许能直接在 Windows NT上成功地编译和安装,但这尚待证实。适合 32 位元的微软系统和苹果系统、以执行档形式发行的 Perl各可在 http: //www.perl.com/CPAN/ports/这个目录底下找到。由於这两个不属於标准发行的一部分,它们可能(事实上的确)和基本的 Perl 有多方面的不同。要确切知道到底哪些地方不同,您得自行查阅它们 各自的发行说明。这些差异可能是正面的(譬如它们可能附有一些原始码发行的 perl所没有的延伸,提供专属某一平台的特殊功能),亦或负面的(例如它们可能是植基於比较老旧的 Perl原始码发行 版)。
一个实用、专为 Win32 Perl使用者编写的 FAQ可在 http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html处取得。
要如合取得以执行档形式发行的 Perl?
不管为什麽您的作业系统业者没有将 C编译器附在所卖的作业系统中,最好的方法是到网路上去抓一份 gcc的执行档,然後用它来编译 perl 。 CPAN 上所放的 gcc执行档仅专门提供几个特别难拿到免费编译器的平台,而不是给任何 Unix系 统的。
您的第一步应该是查看 http://www.perl.com/CPAN/ports这个档案,看看可以拿到哪些安装资料。http: //www.cs.ruu.nl/~piet/perl5dos.html 提供了一份有关在 DOS上安装 perl 的资料;而 http: //www.cs.ruu.nl/~piet/perlwin3.html则是关於在 Windows 3.1上安装的资料。
我的系统里没有 C编译器。要如何编译 perl?
因为您没有 C 编译器,您是没指望了,而您的经销商则该拿去当作祭拜列位升阳 神的供品。不过说这些风凉话无济於事。
您首先需要做的是替您的系统找一个 gcc的执行档。参阅和您的作业系统相关的 各 Usenet FAQs,看到哪里可以找到这种作业系统的 gcc执行档 。
我直接将 Perl的执行档从一台机器上复制到另一台机器上,但是程式跑不起来。那大概是您忘了复制程式库,或者是程式库的路径不同的关系。您真的应该在那台要安装 perl的机器上将整套发行从头编译,然後打 make install来安装。其他的方法大多注定要失败。
有一个简单的方法可用来检查和确定东西有没有装对地方 --把编入 perl的 @INC阵列(perl用它来寻找程式库的路径)印出: perl -e 'print join("\n",@INC)'
如果这个指令列出了任何在您系统上不存在的路径,那麽您或许得将适当的程式库移到这些地方,或者制做适当的 symlinks、aliases 或捷径。
您或许会想看看 How do I keep my own module/library directory? 。
我抓回了原始码,试着编译 perl,但是 gdbm/dynamic loading/malloc/linking/...部分失败。要如何将它搞定?
细读 INSTALL这个档案,这是原始码发行版里面的一个档案。有时候自动设定程式 (Configure) 对某些较不寻常的系统、平台特质、或变异会不知所措。该档 案对该如何处这类的问题,大都有详细的说明。
Perl有哪些模组和延伸? CPAN是什麽? CPAN/src/...又代表什麽?
CPAN代表的是「大 Perl档案库网络」(Comprehensive Perl Archive Network),一个在全世界数十台机器之间相互映射的巨大档案库。CPAN包含了原始码、对各非原生系统的移植、使用说明、程式,以及许多由第叁类团体所写的模组和延伸,从各商业品牌的资料库介面、到键盘/萤幕控制,乃至全球资讯网漫游及 CGI程 式皆一应具全。CPAN的总主机是ftp: //ftp.funet.fi/pub/languages/perl/CPAN/,但您也可以透过这个位址:http: //www.perl.com/CPAN/CPAN.html来自动连接一个在地理位置上最接近您的站。至於这个设计的运作原理,请看 http: //www.perl.com/CPAN(最後头没有斜线)的说明。
CPAN/路径/... 是 CPAN站台上头的档案的命名规范。CPAN 代表一个 CPAN映射的基准目录,然後其馀的路径是由该目录到一个档案的路径。例如,如果您使用 ftp://ftp.funet.fi/pub/languages/perl/CPAN来做您的 CPAN 站,那麽 CPAN/misc/japh这个档案便可以从 ftp: //ftp.funet.fi/pub/languages/perl/CPAN/misc/japh 抓下来。
由於目前 CPAN档案库中已经有数百个模组,因此几乎任何您所能想到的用途,大概都已经有现成的模组可以办到。目前在 CPAN/modules/by-category/ 底下的类 别包括了 perl核心模组、协助发展模组、作业系统介面、网路、周边设备、不同 processes间之沟通、资料型态工具、资料库介面、使用者介面、与其他语言介面、档名、档案系统、档案锁定、软体国际化及地方化、全球资讯网支援、伺服软体工具、档案库和档案压缩、图形变换处理、电子邮件及新闻讨论群、程式流程控制工具、filehandles和输入/输出、微软视窗模组,以及杂项模组 等。
是不是有一个经 ISO【国际标准局】或 ANSI【美国国家标准局】认可的 Perl版本?
当然没有。Larry认为他得先被认可後然後才会轮到 Perl 。
Perl的相关资料要上哪儿找?
perl的发行版中都附有完整的使用说明中。如果 perl已安装在您的机器上,那 麽使用说明应该也已经装在上头了:如果您用的是一个像 Unix的系统,您可以打 man perl。这同时会带领您到其他重要的使用说明页。如果您用的不是 Unix 式的系统,那麽查阅使用说明的方法会有所不同;譬如说,使用说明可能会以HTML 格式来存放。不管怎麽样,只要 perl正确地安装,查阅使用说明应该不成问题。
如果您的系统没有 man这个指令,或者是该指令安装不当,那麽您可以试试 perldoc perl。如果还不成,您可以在 /usr/local/lib/perl5/pod这个目录 下找使用说明。
如果以上的方法全失败,那麽您可求助於 CPAN/doc这个目录,该目录底下存有完 整的使用说明,有各种不同的格式,包括了原始的 pod格式、troff、html,以及 纯文字式。还有 http: //www.perl.com/perl/info/documentation.html 这个网页可能也会对您有帮助。
另外值得一提的是,在 CPAN/authors/id/BMIDD这个目录底下有一个完整的 PDF 版本的使用说明。
市面上有许多本和 Perl有关的好书,详情请见下面一节的介绍。
USENET上有哪些专门讨论 Perl的新闻讨论群?问题该投到哪里?
comp.lang.perl这个群组已不存在,它已被下列各群组所取代:
comp.lang.perl.announce公告相关事宜(有管制)
comp.lang.perl.misc一般问题讨论,很忙
comp.lang.perl.modules模组的使用和发展
comp.lang.perl.tk Perl Tk (及 X)的讨论
comp.infosystems.www.authoring.cgi WWW CGI程式写作相关问题研讨
在 news://genetics.upenn.edu/perl.porters-gw/ 还有一个 Perl发展小组 (Perl5-porters)用来连结邮递论坛的渠道。
如果我想投程式原始码,该投到哪个板子上?
您应看程式的性质来决定该丢到哪个板子上,但也欢迎您交叉投递一份到 comp.lang.perl.misc上头去。如果您打算交叉投递到 alt.sources 的话,请务必遵照该板所规定的标准,包括标头的 Followup-To栏不可将 alt.sources 列入;详见该板的 FAQ 。
Perl书籍
市面上有许多有关 Perl 和/或 CGI程式设计的书。其中有些很好,有些还过得去,但也有不少根本不值得买。大部分的 Perl书都列在 Tom Christiansen所维护的 http://www.perl.com/perl/critiques/index.html 中,其中有的书有详尽 的评论。
毫无争议地,最权威的 Perl参考书要数以下这本,由 Perl的创始者及其信徒所 着,目前是第二版第四印:
Programming Perl(俗称「the Camel book;骆驼册」):
作者: Larry Wall, Tom Christiansen, and Randal Schwartz
ISBN 1-56592-149-6(英文版)
ISBN 4-89052-384-7(日文版)
(法文、德文版准备中)
请注意,O'Reilly【上面这本和以下两本书的出版社】的书是按颜色分类的 --土耳其玉【蓝绿】色(有人也许会说它是鸭毛绿)的封皮代表内容涵盖 perl5 ,而紫红(有人也许会说它是粉红)色的封皮则代表内容仅限於 perl4 。所以先看看 外皮再买!
底下是几本是笔者个人觉得有帮助的书。您个人的感觉、偏好或许会不同(但我们 希望不会)。
如果您是个扎实的系统程式设计高手的话,那麽直接拿骆驼册来学 Perl大概就足 够了。但是如果您没有这麽厉害的话,那麽先看看「骆马册」。这本书目前并不涵盖 perl5,但第二版已接近完成,应可在 1997年夏天前问市。
Learning Perl(俗称「the llama book;骆马册」)
作者: Randal Schwartz,由 Larry Wall作序
ISBN 1-56592-042-2(英文)
ISBN 4-89502-678-1(日文)
ISBN 2-84177-005-2(法文)
ISBN 3-930673-08-8(德文)
另一本出类拔粹的、同属 O'Reilly Perl系列的书是「帅猫头鹰」册。它从里到 外地对正规表示法 (regular expressions)加以剖析,其中有相当的份量是专门 针对 Perl写的:
Mastering Regular Expressions(the Cute Owls Book;可爱的猫头鹰册):
作者: Jeffrey Friedl
ISBN 1-56592-257-3
您可以向 O'Reilly & Associates订购以上这几本书,他们的电话是 1-800-998-9938(美加地区)和 1-707-829-0515(世界其他各地)。如果您有 O'Reilly的订购单,您可以传真 1-707-829-0104 。详情请到网路上的 http://www.ora.com/去看。
其他不由 O'Reilly 出版、笔者推荐的 Perl 丛书:
Cross-Platform Perl,(针对 Unix及 Windows NT)
作者: Eric F. Johnson
ISBN: 1-55851-483-X
How to Set up and Maintain a World Wide Web Site, (2nd edition)
作者: Lincoln Stein, M.D., Ph.D.
ISBN: 0-201-63462-7
CGI Programming in C & Perl,
作者: Thomas Boutell
ISBN: 0-201-42219-0
要提醒您的是以上这些书有的是针对某些应用领域(例如 WWW)而写,而非探讨一 般的程式写作。
和 Perl有关的杂志
Perl Journal 是第一、也是唯一的一本专门探讨 Perl 的期刊,每季发行一次(为一纸上期刊,非电子期刊)。发行人、总编辑是 Jon Orwant ( [email protected] 。订阅资料可在 http://tpj.com,或透过 email至 [email protected]取得。
除此之外,另外两本杂志也常登载高水准的 Perl 文章,它们是 Web Techniques(详见 http: //www.webtechniques.com/ )和 Unix Review(http://www.unixreview.com/)。 Randal Schwartz在 Web Techniques杂志的专栏可从 WWW 上的 http: //www.stonehenge.com/merlyn/WebTechniques/ 处取得。
网路上的 Perl:透过 FTP和 WWW
如果您想达到最好(还有最省钱)的传输效果,那麽从下面所列的站台中任选其一, 从上头把完整的映射站名单抓下来。然後您可以从中挑选一个对您来说传输最快的 站台。请记住,底下 不是完整的 CPAN映射站名单。
http://www.perl.com/CPAN(自动反弹到其他的映射站)
http://www.perl.org/CPAN
ftp://ftp.funet.fi/pub/languages/perl/CPAN/
http://www.cs.ruu.nl/pub/PERL/CPAN/
ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
http:/www.oasis.leo.org/perl/除了其他的东西外,还收集了有从第一一直到第 五版的 Perl原始码。
有哪些讨论 Perl的邮递论坛(mailing lists)?
大部分的重要模组(如 tk、CGI 和 libwww-perl)有专属各自的 mailing lists。有关资料请参考这些模组的使用说明。以下的 mailing lists则是和 perl本 身有关的:
如果您订阅加入一个 mailing list,则您有义务知道该如何取消订阅。如果只是 苦苦地对着论坛哀求是不会被人接受的【因论坛的邮件位址和管理订阅的伺服软体 位址通常并不相同】。
MacPerl
这是讨论麦金塔 Perl的邮递论坛。详情请连络「 [email protected] 」。还有您可以由 Matthias Neeracher(MacPerl的创造及维护者)的网页 http: //www.iis.ee.ethz.ch/~neeri/macintosh/perl.html 连到许多有趣的 MacPerl站台,以及事先编译好的应用程式/MPW发展工具。
Perl5-Porters
这是 perl的核心发展小组用来讨论语言本身除错和修改的邮递论坛。您可寄信到 [email protected] ,在信中正文的地方写上「help」,便可收到有关的订阅资料。
NTPerl
这是讨论 Win32 Perl5(Windows NT 和 Win95)的邮递论坛。如欲订阅,寄信到 [email protected],在信中正文的地方写上:
subscribe Perl-Win32-Users
这个用 perl写的邮递论坛管理软体会自动找出您的位址,然後将您加入名单中。 如果您要取消订阅,寄信到同一个地方,在正文处注明:unsubscribe Perl-Win32-Users
您也可以连到 http://www.activeware.com/ ,然後选择「Mailing Lists」,便可加入或离开这个邮递论坛了。
Perl-Packrats
这是用来讨论 perl资料的储存管理等相关事宜,特别是有关大 Perl档案库网路(CPAN)的邮递论坛。有意订阅者可 email [email protected] ,文中注明:subscribe perl-packrats
这个也是用 perl写的邮递论坛管理软体会自动找出您的位址,然後将您加入名单 中。如果您要取消订阅,寄信到同一个地方,於正文处将相同的订阅指令前加上 「un」,像这样:unsubscribe perl-packrats
存有 comp.lang.perl.misc posts的档案库
试过 Deja News或 Alta Vista 了吗?
ftp.cis.ufl.edu:/pub/perl/comp.lang.perl.*/monthly有自 1989年 12月起(缺 1991年 8月份)至 1993年 12 月止的完整收藏。每个月的 posts 是以一个大档案的方式存放。
您可能会想要一个功能比较完备的讯问和抽取系统,而不只是能将档案名称列印出来;最好是一个使用索引作快速寻找的引擎,且至少可以按作者、日期、主题、 thread(一如 trn),或许还有关键字,来作搜索。作者所知道最好的方法是 MH 套件的 pick指令,但是如果拿它来搜索上万篇文章的话真的是很慢。
如果您曾经找到、或知道到哪儿可找到残缺的部分,请告知: [email protected] 。
Perl训练课程
虽然有些大型的训练公司提供各种 Perl的训练课程,但您可能会较顷向於找真正 密切投入 Perl发展的人来教您。Perl 发展小组中两位知名的成员 -- Tom Christiansen 和 Randal Schwartz ,加上二人手下的众爪牙,联手提供各项有关 Perl的专业入门讲座和研讨课程。这些课程包括了公开座谈,私人企业员工训练计画,以及直接飞到科罗拉多和奥勒冈上课等。详情请见 http: //www.perl.com/perl/info/training.html 。
如何购买商业版本的 Perl?
在某种程度上来说,Perl 已经算是商业软体了:您可以把 Perl的发行约定拿来细读给您的经理听。各发行版都附有这份条例清楚、明确的公约。Perl有广大的使用者及广泛的文献。 comp.lang.perl.*等新闻讨论群组和各电子邮递论坛更是对各种疑难杂症提供迅速的解答。 Perl 传统上一直是由 Larry、许多软体设计工程师,以及成千上万的程式写作者提供支援,大夥协力让人人过更美好的日子。
尽管如此,有些主管坚持只向附售後保证的公司下订单,这样子出了问题才可以告 他们,故以上的回答可能无法令这类的经理满意。或许是这类的主管觉得亦步亦趋的扶持支援及很强的合约义务有其必要。市面上有卖用玻璃纸密封包装的 Perl 光碟,您可以试试看,或许对您的经理有效。
不然您可以购买使用支援的契约。虽然 Cygnus在过去曾提供这项服务,他们现在已不再出售 Perl的支援合约了。取而代之、填补这个空档的是 the Paul Ingram Group 为此专设的 The Perl Clinic。以下是一则他们的广告:【未翻】
``Do you need professional support for Perl and/or Oraperl? Do you need a support contract with defined levels of service? Do you want to pay only for what you need?''
``The Paul Ingram Group has provided quality software development and support services to some of the world's largest corporations for ten years. We are now offering the same quality support services for Perl at The Perl Clinic. This service is led by Tim Bunce, an active perl porter since 1994 and well known as the author and maintainer of the DBI, DBD::Oracle, and Oraperl modules and author/co-maintainer of The Perl 5 Module List. We also offer Oracle users support for Perl5 Oraperl and related modules (which Oracle is planning to ship as part of Oracle Web Server 3). 20% of the profit from our Perl support work will be donated to The Perl Institute.''
如需进一步的资料,可连络 The Perl Clinic:
Tel: +44 1483 424424
Fax: +44 1483 419419
Web: http://www.perl.co.uk/
Email: [email protected] or [email protected]
如果发现 bugs要向何处报告?
如果您发现 perl解译器或标准发行中的模组有 bugs ,想报知 perl发展小组的 话,请使用 perl发行中所附的 perlbug程式,或将您的报告 email到 [email protected] 。
如果您想报告的 bug是有关某个非标准发行的 perl(详见「哪些平台上有 Perl ?」一题的答案)、某可执行档形式的发行,或是某非标准的模组(譬如 Tk、CGI 等),那麽请参考它所附的使用说明,以确定最合适报告 bugs的地方。
详情请见使用手册中 perlbug一篇(附於 perl5.004 或以後版本中)。
什麽是 perl.com、 perl.org,和 Perl Institute?
perl.org 是 Perl Institute 的正式传播媒介。TPI (The Perl Institute)的座右铭是「帮助他人帮 Perl助人」(或差不多这个意思)。这是一个非营利性的组织,主旨在支援 perl的发展、文献,和传播。目前 TPI 的领导人包括了 Larry Wall 、 Tom Christiansen,和 Randal Schwartz,这些名字或许您曾在这篇文章的其他地方见过。
perl.com 是 Tom Christiansen注册的网域。早在 perl.org成立之前他便创立了这个站台,做为公共服务之用。这是 Perl国度的公共电台,所有 Perl 东西的资讯交易所,该站的网页不接受登载任何商业广告、光鲜的 GIF 看板,或者是 (啊!) Java applets。
如何学着用 Perl来写物件导向程式?
perltoot(附在 5.004、或更新版之中)是一个很好的起点。此外, perlobj 、 perlref ,及 perlmod 都是很有用的参考资料;而 perlbot则还提供了一些非常好的技巧和心得。