现在的位置: 首页 > 综合 > 正文

Perl 简介

2013年10月09日 ⁄ 综合 ⁄ 共 1969字 ⁄ 字号 评论关闭
 [摘取至中文维基百科]  =>Link

Perl是一种脚本语言。 最初的设计者为拉里·沃尔(Larry
Wall),它于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting
以及很多其他编程语言的特性。其中最重要的特性是他内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN。

Perl简介

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

Perl 语言的中心思想

Perl 语言的中心思想可以集成为一句话“TMTOWTDI”:

    There's More Than One Way To Do It.(不只一种方法来做这件事。)

Perl 的作者 Larry Wall 建议可以把这个缩写词念成“Tim Toady”。

另一个 Perl 程序员常常想起的 Perl 俗语是:

    Easy things should be easy, and hard things should be possible.

优点


了实现这样的目标,并且又因为 Larry Wall 本人也是一个语言学家,他设计Perl语言时使用了很多语言学的思维。相比 C、Pascal
这样的“高级”语言而言,Perl语言直接提供泛型变量、动态数组、Hash表等更加便捷的编程元素。Perl
具有动态语言的强大灵活的特性,并且还从C/C++、Basic、Pascal
等语言中分别借鉴了语法规则,从而提供了许多冗余语法。使得程序员可以忽略计算机内部资料存储、类型、处理方法、运算规则、甚至内存越界等等的细节,而将
思考中心放在所需要的程序逻辑上。就这一点而言,很多 Perl 程序员认为目前只有 Perl、Python等泛型语言才能称为“高级”语言,而
C、Pascal 甚至 C++ 这些只能称为“中高级”语言而已。可以说,在统一变量类型和掩盖运算细节方面,Perl 做得比 Python
更为出色。

由于从其他语言大量借鉴了语法,使得从其他编程语言转到 Perl 语言的程序员可以迅速上手写程序并完成任务,这使得
Perl语言是一门容易用的语言。但问题是这样写出来的“类xx语言”的 Perl 程序对不熟悉这种语言的程序员却如同天书,这使得 Perl
语言易写不易读。

缺点

也正是因为 Perl 的灵活性和“过度”的冗余语法,也因此获得了
write-only 的“美誉”,因为许多 Perl 程序的代码令人难以阅读,实现相同功能的程序代码长度可以相差十倍百倍。 但 Perl
同样可以将代码书写得像 Python 或 Ruby 等语言一样优雅。

Perl的应用

Perl主要应用在Unix平台和网页中(PHP,CGI)。Perl拥有海量的模块支持,在解决问题时非常方便。CPAN是Perl模块的集中营。

 Perl Data Language

Perl
Data
Language(简称PDL)是Perl的一个外接模块,也是对Perl功能的一个重要拓展。它使得Perl语言可以直接对2至多维的矩阵直接操作,进
行快速的矩阵运算,完成基础的Perl所不能完成的运算,大大拓展了Perl的适用范围。所以PDL本身也是很多其他模块的基础。

而且PDL提供了与很多其他软件包的接口,例如FFTW(一个快速傅立叶变换的软件包),又或者是Mesa(Linux上的OpenGL三维图形渲染包),这些包原来往往仅提供C/C++语言接口。这一功能使PDL成为拓展Perl功能的一个中间层。

 Perl诗经

和C语言一样,在Perl界,难以读懂的程式码大赛是个有名的活动。近似难以读懂的程式码,但方向不同,Perl Poetry是可以被perl编译的诗。新的诗经通常会在Perl Monks网站发表。

另一个Perl hackers的有趣活动是写JAPHs。

 竞争对手

因为许多Perl程序的代码难以阅读,加上它的面向对象功能被视为不是真正的面向对象,于是很多人拿Perl和其他动态语言来比较。

最常见是比较对象是Python,有人写了篇文章叫What's wrong with Perl,指出Perl的缺点,鼓励别人学Python。著名黑客埃里克·斯蒂芬·雷蒙写Why Python?,该文中一个重要的比较对象就是Perl。

Ruby的作者(松本行弘,Matz)甚至直认他想Ruby作为Perl的后继者。

抱歉!评论已关闭.