perl常问问题集——第2篇

文章作者 100test 发表时间 2007:03:26 17:58:43
来源 100Test.Com百考试题网


  哪些平台上有 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(日文版)
  (法文、德文版准备中)

  请注意,OReilly【上面这本和以下两本书的出版社】的书是按颜色分类的 --土耳其玉【蓝绿】色(有人也许会说它是鸭毛绿)的封皮代表内容涵盖 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(德文)

  另一本出类拔粹的、同属 OReilly Perl系列的书是「帅猫头鹰」册。它从里到 外地对正规表示法 (regular expressions)加以剖析,其中有相当的份量是专门 针对 Perl写的:

  Mastering Regular Expressions(the Cute Owls Book.可爱的猫头鹰册):
  作者: Jeffrey Friedl
  ISBN 1-56592-257-3

  您可以向 OReilly &. Associates订购以上这几本书,他们的电话是 1-800-998-9938(美加地区)和 1-707-829-0515(世界其他各地)。如果您有 OReilly的订购单,您可以传真 1-707-829-0104 。详情请到网路上的 http://www.ora.com/去看。

  其他不由 OReilly 出版、笔者推荐的 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编程—功能丰富的Perl
使用Perl自动化UNIX系统管理
受限制环境安装Perl模块方法
perl常问问题集——第2篇
perl常问问题集——第1篇
PHP中register_globals引发的问题
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛