Provided by: manpages-zh_1.5-1_all bug

NAME

       perlfaq1 - 有关 Perl 的一般问题 (2003/11/23 08:02:29)

DESCRIPTION述
       有关 Perl 的一般的,非技术层次的问题

       What is Perl? 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)的成员是一群高度热情奉献的人仕,全心投入发展出比您所能想像、用钱能买得到还要更好的免费软体。您可-
       由 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/http://archive.develooper.com/perl5-porters@perl.org/ 或者新闻服务器
       nntp://nntp.perl.org/perl.perl5.porters 或它的 web 界面
       http://nntp.perl.org/group/perl.perl5.porters , 也可以订阅邮件列表
       perl5-porters-request@perl.org (没有主题的空消息也是可以的)
       取得关於新近发展计 的信息。

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

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

       Which version of Perl should I use? Perlperl4 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的发行基本上是从零开始,所有程式码完全重新写过的版本。它已-
       被模组化、物件导向化、微调、精简化,及效率化,以致程式码几乎已变得和-
       来的不相同了。尽管如此,使用介面大致上仍然相同,而且和先前的版本之间保持了很高的
       一致性。参见 perltrap 中的 "Perl4 to Perl5 Traps" .

       为了避免「perl5是什麽语言?」这类的混淆,有些人索性完全避免「perl5」,而单用「perl」来指称最近的
       perl版本。其实用不着这麽累就是了。

       参见 perlhist 中 Perl 版本的历史

       What is Ponie? Ponie

       At The O'Reilly Open Source Software Convention in 2003, Artur Bergman,
       Fotango, and The Perl Foundation announced a project to run perl5 on
       the Parrot virtual machine named Ponie. Ponie stands for Perl On New
       Internal Engine.  The Perl 5.10 language implementation will be used
       for Ponie, and there will be no language level differences between
       perl5 and ponie.  Ponie is not a complete rewrite of perl5.

       For more details, see http://www.poniecode.org/

       What is perl6?

       At The Second O'Reilly Open Source Software Convention, Larry Wall
       announced Perl6 development would begin in earnest. Perl6 was an oft
       used term for Chip Salzenberg's project to rewrite Perl in C++ named
       Topaz. However, Topaz provided valuable insights to the next version of
       Perl and its implementation, but was ultimately abandoned.

       If you want to learn more about Perl6, or have a desire to help in the
       crusade to make Perl a better place then peruse the Perl6 developers
       page at http://dev.perl.org/perl6/ and get involved.

       Perl6 is not scheduled for release yet, and Perl5 will still be
       supported for quite awhile after its release. Do not wait for Perl6 to
       do whatever you need to do.

       "We're really serious about reinventing everything that needs
       reinventing."  --Larry Wall

       PerlPerlHow does Perl compare with other languages like Java, Python, REXX,
       Scheme, or Tcl?

       Perl在某些地方比较好,某些地方较差。精确地说到底哪些方面好或坏通常视个人偏好而定,所以在新闻讨论群中问这种问题很可能会掀起一场毫无建设性的圣战。

       要比较各语言的异同最好的方法是试着用不同的语言写功能相同的程式。各程式语言都各有属於它们各自的新闻讨论群,您可从中学习(但希望您不是去和人辨论吵
       架的)。

       如果还是不听劝告的话,可以去看 http://language.perl.com/versus/
       的语言比较

       PerlPerlerlerlPerlprogramscript.cshrc 或 .ircrc。对话脚本仅仅是驱动已有的程序,并不是独立的程序。

       计算机专家会解释说,所有程序都是解释执行的,但是问题是从哪个层次去考虑。如果你问一个不是计算机专家的人,他们可能告诉你,一个
       program 是已被编译为机器码,一次编译多次运行的东西,而一个 script
       在每次使用时都必须首先芬胛 program

       Perl 程序通常不是严格的编译或解释执行的。它们可以被编译为字节码形式
       (可以在 Perl 虚拟机中运行) 或者完全不同的其他语言,例如 C
       或汇编。你不能仅仅从源程序推断它是否应当被一个纯解释器,一个分析树解释器,一个字节码解释器或者一个本地代码编译器来运行,因此在这里很难给出一个确定的答案

       现在 script 和 scripting
       已成为被不慎重的人和无知的商人为了自己恶毒的目的而用到的两个词,它们开始拥有奇怪的,贬义的含义,类似
       "不严谨 non serious" 或 "不是真正的编程".  因此,一些 Perl
       程序员选择不把它们同时比较。

       JAPH?

       这是过去一些在讨论群中自称 ``just another perl hacker''
       的人的签名档,Randal Schwartz
       开了这样的先河。约有一百个比较早期的版本,可在
       http://www.cpan.org/misc/japh 获得。

       Larry Wall (witticisms)http://www.cpan.org/misc/lwall-quotes.txt.gz 获得

       5/5.8.3的
       Perlhttp://www.perl.org/advocacy/

       如果您面对反对 perl升级的声音,那麽告诉他们 Perl发展小组已-
       完全不再维护或支援第四版的
       perl了。perl5的另一个大卖点是它有大量的模组和延伸,可大大减少计-
       的发展时间。还有,告诉他们第四和第五版 Perl之间的差异就如 awk 和
       C++的差别一样(嗯,或许没有差得那麽明显,但您知道我的意思就好)。如果您想得到支援而且想确保您现在所发展的软体在未来能继续工作的话,那麽您得跑有支援的版本。在
       2003 年 12 月,这大概也就是说要跑 5.8.2
       版的,或者稍微旧一些的版本如5.6.2 (November 2003 发布;
       一个修正发行,使得 perl 5.6 在新系统中可以编译,因为 5.6.1发行早在
       April 2001) 或 5.005_03 (March 1999 发行),
       如果你一定要一个旧版本来保持兼容性,使用 5.004_05 也不坏。比 5.004_05
       更旧的版本坚决不能再用

       Of particular note is the massive bug hunt for buffer overflow problems
       that went into the 5.004 release.  All releases prior to that,
       including perl4, are considered insecure and should be upgraded as soon
       as possible.

       In August 2000 in all Linux distributions a new security problem was
       found in the optional 'suidperl' (not built or installed by default) in
       all the Perl branches 5.6, 5.005, and 5.004, see
       http://www.cpan.org/src/5.0/sperl-2000-08-05/ Perl maintenance releases
       5.6.1 and 5.8.0 have this security hole closed.  Most, if not all,
       Linux distribution have patches for this vulnerability available, see
       http://www.linuxsecurity.com/advisories/ , but the most recommendable
       way is to upgrade to at least Perl 5.6.1.

AUTHOR AND COPYRIGHT

       Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen and Nathan
       Torkington.  All rights reserved.

       This documentation is free; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       Irrespective of its distribution, all code examples here are in the
       public domain.  You are permitted and encouraged to use this code and
       any derivatives thereof in your own programs for fun or for profit as
       you see fit.  A simple comment in the code giving credit to the FAQ
       would be courteous but is not required.

者
      室