📄 perlfaq2.html
字号:
<HTML> <HEAD> <TITLE>perlfaq2</TITLE> </HEAD> <BODY background="gback.jpg"><H1>perlfaq2 - perl常问问题集,第二篇</H1><p><p><H2><A NAME="INDEX">目录</A></H2><!-- INDEX BEGIN --><UL> <LI><A HREF="#_g_W">篇名</A> <LI><A HREF="#_z">概述</A> <UL> <LI><A HREF="#_x_W_Perl_H_n_h_">哪些平台上有 Perl?要到哪里去找?</A> <LI><A HREF="#_n_p_X_o_H_o_Per">要如合取得以执行档形式发行的 Perl?</A> <LI><A HREF="#_t_S_C_s_C_n_p_">我的系统里没有 C编译器。要如何编译 perl?</A> <LI><A HREF="#_N_Perl_q_x_">我直接将 Perl的执行档从一台机器上复制到另一台机器上,但是程式跑不起来。</A> <LI><A HREF="#_F_l_X_A_s_perl_A">我抓回了原始码,试着编译 perl,但是 gdbm/dynamic loading/malloc/linking/...部分失败。要如何将它搞定?</A> <LI><A HREF="#Perl_M_H_CPAN_O_">Perl有哪些模组和延伸? CPAN是什麽? CPAN/src/...又代表什麽?</A> <LI><A HREF="#_O_O_g_ISO_i_">是不是有一个经 ISO【国际标准局】或 ANSI【美国国家标准局】认可的 Perl版本?</A> <LI><A HREF="#Perl_n_W_H">Perl的相关资料要上哪儿找?</A> <LI><A HREF="#USENET_W_M_Q_Perl_">USENET上有哪些专门讨论 Perl的新闻讨论群?问题该投到哪里?</A> <LI><A HREF="#_p_G_Q_l_X_A_">如果我想投程式原始码,该投到哪个板子上?</A> <LI><A HREF="#Perl_y">Perl书籍</A> <LI><A HREF="#_M_Perl_x">和 Perl有关的杂志</A> <LI><A HREF="#_W_Perl_G_z_L_FTP_M_WWW">网路上的 Perl:透过 FTP和 WWW</A> <LI><A HREF="#_Q_Perl_l_mail">有哪些讨论 Perl的邮递论坛(mailing lists)?</A> <LI><A HREF="#_s_comp_lang_perl_misc_posts_">存有 comp.lang.perl.misc posts的档案库</A> <LI><A HREF="#Perl_V_m_">Perl训练课程</A> <LI><A HREF="#_p_R_Perl_H">如何购买商业版本的 Perl?</A> <LI><A HREF="#_p_G_o_bugs_n_V_B_i_H">如果发现 bugs要向何处报告?</A> <LI><A HREF="#_O_perl_com_B_perl_org_A_M">什麽是 perl.com、 perl.org,和 Perl Institute?</A> <LI><A HREF="#_p_Perl_g_V_">如何学着用 Perl来写物件导向程式?</A> </UL> <LI><A HREF="#_v_y">作者及版权事宜</A></UL><!-- INDEX END --><HR><P><H1><A NAME="_g_W">篇名</A></H1>perlfaq2 - Perl的取得和学习(原文版 Revision: 1.16, Date: 1997/04/2318:04:09. 18:15:48.中译版 $Revision: 1.13 $ $Date: 1997/07/12 20:41:48 $)<P><P><HR><H1><A NAME="_z">概述</A></H1>本篇涵盖如何获得 Perl原始码、使用说明、支援,训练等问题及相关事宜。<P><P><HR><H2><A NAME="_x_W_Perl_H_n_h_">哪些平台上有 Perl?要到哪里去找?</A></H2>Perl的标准发行版(由 perl发展小组负责维护)仅以原始码形式发行。您可在 <A HREF="../../tppmsgs/msgs0.htm#34" tppabs="http://www.perl.com/CPAN/src/latest.tar.gz">http://www.perl.com/CPAN/src/latest.tar.gz</A>处取得。这个档案的格式是 POSIX tar档案柜,再以 gzip格式压缩。这套原始码完全不需任何移植工作便可轻易地在绝大多数的 Unix系统(Perl的原生系统),以及 Plan 9、VMS、QNX、 OS/2 ,和 Amiga上编译安装完成。尽管有谣传说(即将推出的)第 5.004版或许能直接在 Windows NT上成功地编译和安装,但这尚待证实。适合 32 位元的微软系统和苹果系统、以执行档形式发行的 Perl各可在 <A HREF="../../tppmsgs/msgs0.htm#35" tppabs="http://www.perl.com/CPAN/ports/">http://www.perl.com/CPAN/ports/</A>这个目录底下找到。由於这两个不属於标准发行的一部分,它们可能(事实上的确)和基本的 Perl有多方面的不同。要确切知道到底哪些地方不同,您得自行查阅它们各自的发行说明。这些差异可能是正面的(譬如它们可能附有一些原始码发行的 perl所没有的延伸,提供专属某一平台的特殊功能),亦或负面的(例如它们可能是植基於比较老旧的 Perl原始码发行 版)。<P>一个实用、专为 Win32 Perl使用者编写的 FAQ可在 <A HREF="../../tppmsgs/msgs0.htm#36" tppabs="http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html">http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html</A>处取得。<P><P><HR><H2><A NAME="_n_p_X_o_H_o_Per">要如合取得以执行档形式发行的 Perl?</A></H2>不管为什麽您的作业系统业者没有将 C编译器附在所卖的作业系统中,最好的方法是到网路上去抓一份 gcc的执行档,然後用它来编译 perl 。 CPAN 上所放的 gcc执行档仅专门提供几个特别难拿到免费编译器的平台,而不是给任何 Unix系 统的。<P>您的第一步应该是查看 <A HREF="../../tppmsgs/msgs0.htm#37" tppabs="http://www.perl.com/CPAN/ports">http://www.perl.com/CPAN/ports</A>这个档案,看看可以拿到哪些安装资料。 <A HREF="../../tppmsgs/msgs0.htm#38" tppabs="http://www.cs.ruu.nl/~piet/perl5dos.html">http://www.cs.ruu.nl/~piet/perl5dos.html</A> 提供了一份有关在 DOS上安装 perl 的资料;而 <A HREF="../../tppmsgs/msgs0.htm#39" tppabs="http://www.cs.ruu.nl/~piet/perlwin3.html">http://www.cs.ruu.nl/~piet/perlwin3.html</A>则是关於在 Windows 3.1上安装的资料。<P><P><HR><H2><A NAME="_t_S_C_s_C_n_p_">我的系统里没有 C编译器。要如何编译 perl?</A></H2>因为您没有 C编译器,您是没指望了,而您的经销商则该拿去当作祭拜列位升阳神的供品。不过说这些风凉话无济於事。<P>您首先需要做的是替您的系统找一个 gcc的执行档。参阅和您的作业系统相关的 各 Usenet FAQs,看到哪里可以找到这种作业系统的 gcc执行档 。<P><P><HR><H2><A NAME="_N_Perl_q_x_">我直接将 Perl的执行档从一台机器上复制到另一台机器上,但是程式跑不起来。</A></H2>那大概是您忘了复制程式库,或者是程式库的路径不同的关系。您真的应该在那台要安装 perl的机器上将整套发行从头编译,然後打 <CODE>make install</CODE>来安装。其他的方法大多注定要失败。<P>有一个简单的方法可用来检查和确定东西有没有装对地方 --把编入 perl的<CODE>@INC</CODE>阵列(perl用它来寻找程式库的路径)印出:<P><PRE> perl -e 'print join("\n",@INC)'</PRE><P>如果这个指令列出了任何在您系统上不存在的路径,那麽您或许得将适当的程式库移到这些地方,或者制做适当的 symlinks、aliases 或捷径。<P>您或许会想看看 <A HREF="perlfaq8.html#How_do_I_keep_my_own_module_libr" tppabs="http://202.96.217.5/~xiaoyi/perlfaq8.html#How_do_I_keep_my_own_module_libr">How do I keep my own module/library directory?</A> 。<P><P><HR><H2><A NAME="_F_l_X_A_s_perl_A">我抓回了原始码,试着编译 perl,但是 gdbm/dynamic loading/malloc/linking/...部分失败。要如何将它搞定?</A></H2>细读 <EM>INSTALL</EM>这个档案,这是原始码发行版里面的一个档案。有时候自动设定程式 (Configure)对某些较不寻常的系统、平台特质、或变异会不知所措。该档案对该如何处这类的问题,大都有详细的说明。<P><P><HR><H2><A NAME="Perl_M_H_CPAN_O_">Perl有哪些模组和延伸? CPAN是什麽? CPAN/src/...又代表什麽?</A></H2>CPAN代表的是「大 Perl档案库网络」(Comprehensive Perl Archive Network),一个在全世界数十台机器之间相互映射的巨大档案库。CPAN包含了原始码、对各非原生系统的移植、使用说明、程式,以及许多由第叁类团体所写的模组和延伸,从各商业品牌的资料库介面、到键盘/萤幕控制,乃至全球资讯网漫游及 CGI程 式皆一应具全。CPAN的总主机是ftp://ftp.funet.fi/pub/languages/perl/CPAN/,但您也可以透过这个位址:http://www.perl.com/CPAN/CPAN.html来自动连接一个在地理位置上最接近您的站。至於这个设计的运作原理,请看 <A HREF="../../tppmsgs/msgs0.htm#40" tppabs="http://www.perl.com/CPAN">http://www.perl.com/CPAN</A>(最後头没有斜线)的说明。<P>CPAN/路径/... 是 CPAN站台上头的档案的命名规范。CPAN 代表一个 CPAN映射的基准目录,然後其馀的路径是由该目录到一个档案的路径。例如,如果您使用 <A HREF="../../tppmsgs/msgs0.htm#41" tppabs="ftp://ftp.funet.fi/pub/languages/perl/CPAN">ftp://ftp.funet.fi/pub/languages/perl/CPAN</A>来做您的 CPAN 站,那麽 CPAN/misc/japh这个档案便可以从 <A HREF="../../tppmsgs/msgs0.htm#42" tppabs="ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh">ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh</A> 抓下来。<P>由於目前 CPAN档案库中已经有数百个模组,因此几乎任何您所能想到的用途,大概都已经有现成的模组可以办到。目前在 CPAN/modules/by-category/ 底下的类 别包括了 perl核心模组、协助发展模组、作业系统介面、网路、周边设备、不同 processes间之沟通、资料型态工具、资料库介面、使用者介面、与其他语言介面、档名、档案系统、档案锁定、软体国际化及地方化、全球资讯网支援、伺服软体工具、档案库和档案压缩、图形变换处理、电子邮件及新闻讨论群、程式流程控制工具、filehandles和输入/输出、微软视窗模组,以及杂项模组 等。<P><P><HR><H2><A NAME="_O_O_g_ISO_i_">是不是有一个经 ISO【国际标准局】或 ANSI【美国国家标准局】认可的 Perl版本?</A></H2>当然没有。Larry认为他得先被认可後然後才会轮到 Perl 。<P><P><HR><H2><A NAME="Perl_n_W_H">Perl的相关资料要上哪儿找?</A></H2>perl的发行版中都附有完整的使用说明中。如果 perl已安装在您的机器上,那麽使用说明应该也已经装在上头了:如果您用的是一个像 Unix的系统,您可以打 <CODE>man perl</CODE>。这同时会带领您到其他重要的使用说明页。如果您用的不是 Unix式的系统,那麽查阅使用说明的方法会有所不同;譬如说,使用说明可能会以HTML格式来存放。不管怎麽样,只要 perl正确地安装,查阅使用说明应该不成问题。<P>如果您的系统没有 man这个指令,或者是该指令安装不当,那麽您可以试试 <CODE>perldoc perl</CODE>。如果还不成,您可以在 /usr/local/lib/perl5/pod这个目录 下找使用说明。<P>如果以上的方法全失败,那麽您可求助於 CPAN/doc这个目录,该目录底下存有完整的使用说明,有各种不同的格式,包括了原始的 pod格式、troff、html,以及纯文字式。还有 <AHREF="../../tppmsgs/msgs0.htm#43" tppabs="http://www.perl.com/perl/info/documentation.html">http://www.perl.com/perl/info/documentation.html</A>这个网页可能也会对您有帮助。<P>另外值得一提的是,在 CPAN/authors/id/BMIDD这个目录底下有一个完整的 PDF 版本的使用说明。<P>市面上有许多本和 Perl有关的好书,详情请见下面一节的介绍。<P><P><HR><H2><A NAME="USENET_W_M_Q_Perl_">USENET上有哪些专门讨论 Perl的新闻讨论群?问题该投到哪里?</A></H2>comp.lang.perl这个群组已不存在,它已被下列各群组所取代:<P><PRE> comp.lang.perl.announce公告相关事宜(有管制) comp.lang.perl.misc一般问题讨论,很忙 comp.lang.perl.modules模组的使用和发展 comp.lang.perl.tk Perl Tk (及 X)的讨论</PRE><P><PRE> comp.infosystems.www.authoring.cgi WWW CGI程式写作相关问题研讨</PRE><P>在 <AHREF="news://genetics.upenn.edu/perl.porters-gw/">news://genetics.upenn.edu/perl.porters-gw/</A>还有一个 Perl发展小组 (Perl5-porters)用来连结邮递论坛的渠道。<P><P><HR><H2><A NAME="_p_G_Q_l_X_A_">如果我想投程式原始码,该投到哪个板子上?</A></H2>您应看程式的性质来决定该丢到哪个板子上,但也欢迎您交叉投递一份到 comp.lang.perl.misc上头去。如果您打算交叉投递到 alt.sources 的话,请务必遵照该板所规定的标准,包括标头的 Followup-To栏不可将 alt.sources 列入; 详见该板的 FAQ 。<P><P><HR><H2><A NAME="Perl_y">Perl书籍</A></H2>市面上有许多有关 Perl 和/或 CGI程式设计的书。其中有些很好,有些还过得去,但也有不少根本不值得买。大部分的 Perl书都列在 Tom Christiansen所维护的 <A HREF="../../tppmsgs/msgs0.htm#44" tppabs="http://www.perl.com/perl/critiques/index.html">http://www.perl.com/perl/critiques/index.html</A> 中,其中有的书有详尽 的评论。<P>毫无争议地,最权威的 Perl参考书要数以下这本,由 Perl的创始者及其信徒所着,目前是第二版第四印:<P><PRE> Programming Perl(俗称「the Camel book;骆驼册」):作者: Larry Wall, Tom Christiansen, and Randal Schwartz ISBN 1-56592-149-6(英文版) ISBN 4-89052-384-7(日文版)(法文、德文版准备中)</PRE><P>请注意,O'Reilly【上面这本和以下两本书的出版社】的书是按颜色分类的 --土耳其玉【蓝绿】色(有人也许会说它是鸭毛绿)的封皮代表内容涵盖 perl5 ,而紫红(有人也许会说它是粉红)色的封皮则代表内容仅限於 perl4 。所以先看看 外皮再买!<P>底下是几本是笔者个人觉得有帮助的书。您个人的感觉、偏好或许会不同(但我们 希望不会)。<P>如果您是个扎实的系统程式设计高手的话,那麽直接拿骆驼册来学 Perl大概就足够了。但是如果您没有这麽厉害的话,那麽先看看「骆马册」。这本书目前并不涵盖perl5,但第二版已接近完成,应可在 1997年夏天前问市。<P><PRE> 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(德文)</PRE><P>另一本出类拔粹的、同属 O'Reilly Perl系列的书是「帅猫头鹰」册。它从里到外地对正规表示法 (regular expressions)加以剖析,其中有相当的份量是专门针对 Perl写的:<P><PRE> Mastering Regular Expressions(the Cute Owls Book;可爱的猫头鹰册):作者: Jeffrey Friedl ISBN 1-56592-257-3</PRE><P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -