⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perlfaq1.html

📁 《Perl 5教程》及《perl常问问题集》
💻 HTML
📖 第 1 页 / 共 2 页
字号:
FAQ 的第叁部分有详细的讨论,还有【别忘了您的好朋友】 CPAN,这会在第二部分谈到。<P><P><HR><H2><A NAME="Perl_M_L_y_p_">Perl和其他的程式语言比起来如何?例如 Java, Python, REXX, Scheme,或 Tcl?</A></H2>Perl在某些地方比较好,某些地方较差。精确地说到底哪些方面好或坏通常视个人偏好而定,所以在新闻讨论群中问这种问题很可能会掀起一场毫无建设性的圣战。<P>要比较各语言的异同最好的方法是试着用不同的语言写功能相同的程式。各程式语言都各有属於它们各自的新闻讨论群,您可从中学习(但希望您不是去和人辨论吵 架的)。<P><P><HR><H2><A NAME="_i_H_Perl_i_Y_t_j_">我可以用 Perl来做【某种差事】吗?</A></H2>Perl有足够的弹性和扩充性,从只需要写短短一行的档案处理工作到复杂的系统,几乎没有什麽做不到的。对有些人来说,Perl的是拿来做写 shell程式的理想替代品。其他人则用高阶的 Perl来替代处理许多原先需要用 C或 C++ 一类的低阶语言来达到的程式。哪些差事决定要用 Perl来处理,这一切都得看您(或许还有您的经理...)。<P>如果您有一个提供 API的程式库的话,您可用 C或 C++来写一个 Perl 延伸,然後便可透过它将程式库中的任何一部分动态载入您的 Perl主程式中。您也可以 反过来,用 C或 C++来写主程式,然後以即时动态载入的方式插入一些Perl程式码,产生一个威力强大的应用程式。<P>话虽如此,对解决某些特定的问题,使用小型、专精,专为特殊用途设计的语言总 是比较方便的。 Perl的设计是尽力地满足各种不同人的需要,因而不特别偏颇任何人。至於特殊功能语言的例子,随便举两个,譬如 prolog 和 matlab 便是。<P><P><HR><H2><A NAME="_X_U_A_X_Perl_H">哪些场合下不适合用 Perl?</A></H2>当您的主管禁止的时候 -- 不过请务必考虑把他们换掉 :-)。<P>说真的,如果您已经有用另一个语言写成的应用程式(而且写得很好)的时候,或者是已经有替某些特定的工作设计的语言(例如:prolog, make),这个时候就不需要用 Perl。<P>由於种种因素,Perl大概不太适合拿来做即时内嵌式系统、属於低层级的作业系统发展工作,例如周边设备的 drivers或环境转换码、复杂的多线共用记忆体应用程式,或非常大的应用程式。您会发现 Perl 本身便不是以 Perl写成的。<P>刚出炉的 Perl纯码编译器或许可帮忙去除一些上述的限制,但您要了解:Perl在本质上仍是一活性变数语言 (dynamically typed language),而非固性变数 (statically typed)。只要您不将核电厂或脑科手术监视器所用的程式放心地用 Perl来写,您自然就不会闯祸遭殃。这样 Larry晚上也可以睡得安稳些 --股市分析程式不在此限 :-)。<P><P><HR><H2><A NAME="_uperl_v_M_uPerl_v_P_H">「perl」和「Perl」有什麽不同?</A></H2>二者差一个位元。喔,您不是说在 ASCII上的差别啊? :-) Larry现在用「Perl」来代表语言本身,而以「perl」来表示该语言的体现,即目前的解译器。因此,作者有句幽默小语说:「只有 perl可以解译 Perl」。要不要遵照这个用法是您的自由。举一反叁的话,我们可依样画葫芦地说「awk 和 perl」还有「Python 和 Perl」,但却不可将「awk 和 Perl」或是「Python 和 perl」摆在一起。<P><P><HR><H2><A NAME="Perl_O_program_O_scr">Perl程式应算是 program还是 script?</A></H2>都无所谓。<P>按标准术语来讲,<EM>program</EM>指已经由编译程序编译好、转为机器码,可多次执 行的程式;而 <EM>script</EM>则是每次执行时都必须透过一个解译程式来解译。然而,Perl程式严格说来,既非编译 (compiled) ,亦非解译式 (interpreted);因 Perl程式可转译成位元码形式存在(可说是某种 Perl虚拟机器 [virtual machine]),或转译为完全不同的语言,如 C或组合语言。所以光看原始码很难 说它到底是替纯解译器、或是 parse-tree解译器、位元码解译器,还是纯码编译器而写;因此这题很难给它一个确切的答案。<P><P><HR><H2><A NAME="JAPH_O_H">JAPH是什麽?</A></H2>这是过去一些在讨论群中自称 ``just another perl hacker'' 的人的签名档,约有一百个比较早期的,可在 <AHREF="../../tppmsgs/msgs0.htm#32" tppabs="http://www.perl.com/CPAN/misc/japh">http://www.perl.com/CPAN/misc/japh</A>取得。<P><P><HR><H2><A NAME="_i_Larry_Wall_z_">到哪儿可拿到 Larry Wall的智慧讽语 (witticisms)?</A></H2>一百多条 Larry的讽语,源自他【在讨论群】的 posts或原始码,可在 <AHREF="../../tppmsgs/msgs0.htm#33" tppabs="http://www.perl.com/CPAN/misc/lwall-quotes">http://www.perl.com/CPAN/misc/lwall-quotes</A>取得。<P><P><HR><H2><A NAME="_n_p_H_B_A_t_z_">我要如何取信、说服我的系统管理者/上司/属下使用第 5/5.004版的 Perl,而不去用其他的语言?</A></H2>如果您的管理阶层或属下对没有支援的软体,或是未正式包含在所购买的作业系统中的软体存有戒心的话,您可以试着从有助他们自身利益这方面下手。因为如果程式设计师能由善加利用 Perl的结构、功能性、简单性,和威力而获得更大的生产力的话,那麽典型的管理者/上司/员工或许便可因而加以说服。此外,使用 Perl,总的来讲,和其他语言相较,或许也有助於减少交件的时间。强调这个论 点或许对说服他们会有帮助。<P>如果您的专题碰到瓶颈,特别是有关转译或测试方面的问题,那麽 Perl可以说绝对会是一个既可行且快的解决之道。您在当说客的时候,千万别忘了要提:Perl已被世界上许多大型的软硬体公司广泛、大量地使用,极为可靠、有效。事实上,现Perl已成为许多 Unix业者所售的作业系统的标准配备了。而且如果您无法在<EM>详尽的</EM>使用说明,包括这份 FAQ之中为您的问题找到解答的话,送封 post到新闻讨论群即可。<P>如果您面对反对 perl升级的声音,那麽告诉他们 Perl发展小组已经完全不再维护或支援第四版的 perl了。perl5的另一个大卖点是它有大量的模组和延伸,可大大减少计画的发展时间。还有,告诉他们第四和第五版 Perl之间的差异就如 awk C++的差别一样(嗯,或许没有差得那麽明显,但您知道我的意思就好)。如果您想得到支援而且想确保您现在所发展的软体在未来能继续工作的话,那麽您得跑有支援的版本。这大概也就是说要跑 5.004 版的,尽管 5.003 版仍算是不错(它只落後一年、一版)。不过因为有些严重的 bugs曾在 5.000 和 5.002版之间被消除,所以您至少应升级到比这几个版本高才是。<P><P><HR><H1><A NAME="_v_y">作者及版权事宜</A></H1>Copyright (c) 1997 Tom Christiansen and Nathan Torkington.着作权所有, Allrights reserved。有关使用、(转)发行事宜,详见 <A HREF="perlfaq.html" tppabs="http://202.96.217.5/~xiaoyi/perlfaq.html">perlfaq</A><P>中译版着作权所有:萧百龄及两只老虎工作室。本中译版遵守并使用与原文版相同的使用条款发行。<P></DL>    </BODY>    </HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -