|
|
|
|||||||||||||||||
Perl是什么? Perl是一种解释型的高级语言,由 Larry Wall和其他许多人所写,融合了许多语言的特性。它主要是由无所不在的 C语言,其次由
sed、awk,UNIX shell 和至少十数种其他的工具和语言所演化而来。据Larry说,他将其他语言中的精华凝聚在Perl中,而抛弃了那些看起来不够好的。 Perl对环境的要求
呵呵,还有哪里是空白? 谁对 perl提供支援?由谁负责发展?它为什麽是免费的? Perl自由开放的发行方式要归功於发烧前的 Internet的传统文化及其作者 Larry Wall。Perl是由使用者提供支援。现在
Perl的核心、标准程式库、选择性安装的模组,以及您现在正在阅读的使用说明都出自於义务者之手。详情请见 perl原始码发行版中所附的 README档案底部的私人注记。
尽管 GNU计画将 Perl囊括在它的发行中,但是没有叫「GNU Perl」这样的东西。 Perl既非自由软体基金会所创,亦非由其负责维护。Perl的发行条款同时也较 GNU软体更来得开放。 如果您愿意,您可以购买商业性的 Perl支援。但对大多数使用者来说,非正式性的支援通常已相当足够。详情请见「到哪里可买到商业性的 Perl支援」一问的回 答。 Perl难学吗? Perl不但容易上手,也容易继续学下去。它看起来和大多数您可能已接触过的语言一样。所以如果您只写过 C 程式、或 awk script、shell
script,或甚至只是 Excel的 macro(巨集),您已经在半路了。 最後,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? 当您的主管禁止的时候 -- 不过请务必考虑把他们换掉 :-)。 由於种种因素,Perl大概不太适合拿来做即时内嵌式系统、属於低层级的作业系统发展工作,例如周边设备的 drivers或环境转换码、复杂的多线共用记忆体应用程式,或非常大的应用程式。您会发现 Perl 本身便不是以 Perl写成的。 刚出炉的 Perl纯码编译器或许可帮忙去除一些上述的限制,但您要了解:Perl在本质上仍是一活性变数语言 (dynamically typed language),而非固性变数 (statically typed)。只要您不将核电厂或脑科手术监视器所用的程式放心地用 Perl来写,您自然就不会闯祸遭殃。这样 Larry晚上也可以睡得安稳些 --股市分析程式不在此限 :-)。 Perl程式应算是 program还是 script? 都无所谓。 What is Perl? Perl is an interpreted high-level programming language developed by Larry Wall. According to Larry, he included in Perl all the cool features found in other languages and left out those features that weren't so cool. Perl has become the premier scripting language of the Web, as most CGI programs are written in Perl. However, Perl is widely used as a rapid prototyping language and a "glue" language that makes it possible for different systems to work well together. Perl is popular with system administrators who use it for an infinite number of automation tasks. Perl's roots are in UNIX but you will find Perl on a wide range of computing platforms. Because Perl is an interpreted language, Perl programs are highly portable across systems. Finally, Perl is more than a programming language. It is a part of the Internet culture. It is a very creative way of thinking about almost anything. What is Perl? Perl is a high-level programming language with an eclectic heritage written by Larry Wall and a cast of thousands. It derives from the ubiquitous C programming language and to a lesser extent from sed, awk, the Unix shell, and at least a dozen other tools and languages. Perl's process, file, and text manipulation facilities make it particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking, and world wide web programming. These strengths make it especially popular with system administrators and CGI script authors, but mathematicians, geneticists, journalists, and even managers also use Perl. Maybe you should, too. Perl history in brief, by Larry Wall: Perl 0 introduced Perl to my officemates. -------------------------------------------------------------------------------- |
Copyright© RNY Studio 2000-2001. All rights reserved. Revised: 2001-10-05 . |