请输入您要查询的百科知识:

 

词条 perl
释义

§ Perl 简介

Perl 最初只是 Unix 系统管理员的一个工具,在工作日里被用在无数的小任务中。从那以后,它逐步发展成为一种全功能的程序设计语言,特别是在各种计算平台上,它被用作 Web 编程、数据库处理、XML 处理以及系统管理 —— 它能够完成所有这些工作,同时仍然是处理小的日常工作的完美工具,这是它的设计初衷。Perl 快速、有趣,而且特别有用。很多人因为需要 Perl  而使用它,又因为热爱它而继续使用它。

Perl是一门自由且功能强大的编程语言。自1987 年初次登台亮相以来,它的用户数一直急剧膨胀。从最初被当作一种在跨平台环境中书写可移植工具的高级语言开始,Perl 就已经被广泛地认为是一种工业级的强大工具,可以在任何地方用来完成你的工作。 Perl 特别适合系统管理和 Web 编程。Perl 实际上已经被所有 Unix(包括 Linux )捆绑在一起作为标准部件发布,而且也被广泛用于 Microsoft Windows 和几乎所有其他操作系统。Amiga、BeOS、VMS、MVS 和 Apple Macintosh 等也只是 Perl 已经完成移植的平台的一小部分。

§ 什么是Perl

Perl原名pearl,但是在这个语言官方发表前,拉里·沃尔发现已经有个编程语言“pearl”,便将这个编程语言的名字改成Perl。对于Perl这四个字母,有一些解释,包括充满幽默感的“Pathologically Eclectic Rubbish Lister”。“Practical Extraction and Report Language”曾经出现在很多有关Perl的数据里,包括官方的首页。不过事实上这个长名字是后来凑出来的。它的名字第一个字母大写(Perl)时就指这个编程语言,无大写字母(perl)时就指它的解释器。将Perl写成“PERL”是不适当的,因为它并非一个缩写字。

§ 获得Perl

http://www.perl.org/get.html

§ Perl 可以做什么

Perl 能做的事太多了!应该问Perl不能做什么。使用Perl可以轻松完成下列任务:

处理文本数据.

网络编程

数据库处理

XML 处理

系统维护

图像处理

....

很多人使用 Perl 来替代 shell, 很多人使用 Perl 来避免编写繁琐的 C , C++ 或 Java 程序. 如果程序要求高效率, 可以把费时部分用 C 写, 然后与 Perl 结合使用.

几乎可以使用 Perl 来解决所有问题

§ 怎么学习 Perl

首先,寻找志同道合的人们,是能否成功学习Perl的关键。一个良好的编程氛围有助于在Perl的道路上走得更远,Perlchina ( http://www.perlchina.org/ 中国Perl用户推广组 )就是一个好的选择。

其次,学习Perl要找本好书。很多参差不齐的教材很可能会代入歧途。

§ Perl 常见问题和误解

Perl 就是 CGI

嘘... 小声. 说这样的话会让懂 Perl 的人笑掉大牙。CGI 是 Common Gateway Interface 的简称。其主要的功能是在 WWW 环境下,藉由从客户端传递一些讯息给 WWW Server,再由 WWW Server 去启动所指定的程序码来完成特定的工作. PHP / Python / Perl 都可以撰写基于 CGI 的程序. 另外, Perl 可以做太多东西, 把它的功能仅限制在网络上实在是暴胗天物.

§ Perl 难学么?

不难. Perl 很容易上手,整个学习过程也都相对容易. Perl 看起来和其他的编程语言类似. 如果你有写过 C, awk , shell 或 BASIC 程序, 你对 Perl 就不会感到陌生. 你并不需要对 Perl 完全了解来解决大部分的问题. Perl 有一句名言, TMTOWTDI "there's more than one way to do it" ( perl 可以用不同方法来解决同一个问题 ). 可以说,学习 Perl 很容易但如果你要想使用 Perl 来解决更多问题, 就要准备一些时间了. 最后, Perl 很多时候是一个即时编译的语言. 你可以很容易,迅速的测试,调试写出的程序而不用考虑再编译. 这会让学习 Perl 的过程变的更简单.

§ Perl 程序难以维护?

看情况而定. Perl 的语法和参数多种多样, 变量定义灵活, 由此允许程序员通过很多捷径使用很短代码解决问题, 上面提到的那句 Perl 名言在一定程度上验证了这一点. 正确利用 Perl 的这些特性, 有经验有纪律的程序员一样可以写出易于维护的代码, 但又有多少程序员可以划到上面那一类的? 如果你对 Perl 了解不够, 编程经验不足, 使用 Perl 来开放大型项目往往是个灾难的选择. 这就好像,正确使用火药,你可以达到自己的目的, 但错误使用很可能就会伤及自身. Perl 就是这样.

§ 成为一个 Perl 程序员么?

把自己的知识只局限为 Perl 不是一个明智的职业选择. 实际上, 可以把上面那一句里的 Perl 换成任何一个电脑语言. 将来,可能会因为公司不在使用 perl 了, 市场上不在追捧 Java 了,而失去工作机会. 往往是那些懂得几种技术,并可以结合使用的人最容易找到工作. Perl 不代表一切. 同样的问题可以用 Perl 或 PHP 或 Python 来解决. "Perl good, others bad", 因为对 Perl 的喜好而排斥其他语言实在是狭隘的让人可笑. 很多时候 Perl 被用作粘合工具,沟通不同程序,语言,另些时候 Perl 是系统管理员的手中法宝. 名片不一定写着 Perl 程序员, 但会时不时的使用 Perl 来让工作变得更容易.

Java / C / Perl

大部分语言都有自己的设计目的,擅长领域.

C / C++ 常被用来开发底层程序, 程序员要自己做内存管理,就算是非常有经验的 C 程序员也难免犯 overflow 的问题. 但这并不代表 C 设计的不好, 不安全. 因为正是 C 的这些特性才让我们写出高效的程序, 内核,驱动等. 作为程序员你就需要了解 C 的这些特性,尽量避免犯这些错误. Java 和其他 strongly typed 语言, 在程序设计上就把程序员禁锢在一个保险箱里,使他们避免犯错误. 在开发大型工程时,Java 程序员写出的程序就容易一致化, 由此降低工程开发的成本. 这大概解释了市场上对 Java 程序员的需求. 而 Perl 是 loosly typed, 语法和参数多种多样, 变量定义灵活. 由此给了程序员很大的自由,大大缩短了程序开发时间. 但如何让十几个 Perl 程序员写出一致,易维护的程序就困难多了. 使用任何语言都可以写出糟糕的程序, 只是 Perl 让程序员更容易的写出糟糕的程序罢了. 但很多时候只要能够 *解决* 问题, 没人在乎你用的什么语言. 对一门电脑语言爱好但不盲目. 选择 C 而不是 Java 去写底层系统. 选择 Perl 而不是 Java 来分析 log.

§ 可以用 Perl 来做【某种差事】吗?

Perl 有足够的弹性和扩充性,从只需要写短短一行的档案处理工作到复杂的系统,几乎没有什麽做不到的。对有些人来说,Perl 被用来做 shell 程式的理想替代品。其他人则用高阶的 Perl 替代许多原先需要用 C 或 C++ 一类的低阶语言来达到的程式。哪些差事决定要用 Perl 来处理,这一切都得看你(或许还有你的经理...)。如果您有一个提供 API 的程式库的话,您可用 C 或 C++ 来写一个 Perl 延伸,然后便可透过它将程式库中的任何一部分动态载入您的 Perl 主程式中。您也可以反过来,用 C 或 C++ 来写主程式,然后以即时动态载入的方式插入一些 Perl 程式码,产生一个威力强大的应用程式。话虽如此,对解决某些特定的问题,使用小型、专精,专为特殊用途设计的语言总是比较方便的。 Perl 的设计是尽力地满足各种不同人的需要,因而不特别偏颇任何人。至於特殊功能语言的例子,随便举两个,譬如 prolog 和 matlab 便是。

§ Perl 的文化及其他

编程本应是有趣的事情

Perl 就象一门自然语言. 你可以用它说简单的 '你好' '再见' , 也可以写出莎士比亚式的文章. Perl 博大精深,没有人可以完全透彻的理解 Perl. 就算 Perl 的发明者 Larry Wall 也不一定可以这么说. Larry 发明了 Perl, 成千上万的开发者成就了今天的 Perl. 就像艺术家一样, 编程也需要灵感和创造力. 而 Perl 给了程序员最大的自由来表达自己, 编程真正变成了有趣的事情. 使用 Perl 语言来创作诗歌就是属于Perl文化中的一个奇迹.

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/19 2:00:12