Perl 是一种脚本语言。 最初的设计者为拉里·沃尔(Larry Wall),它於1987年12月18日發表。Perl借取了C、sed、awk、shell scripting 以及很多其他程式語言的特性。其中最重要的特性是他内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN。
Perl原名pearl,但是在這個語言官方發表前,拉里·沃尔發現已經有個程式語言“pearl”,便將這個程式語言的名字改成Perl。对于Perl 这四个字母,有一些解釋,包括充滿幽默感的“Pathologically Eclectic Rubbish Lister”。“Practical Extraction and Report Language”曾經出現在很多有關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.
Perl駱駝 是歐萊禮媒體(O’Reilly Media)設計給 Perl 程式語言的圖標。牠也是一種駭客的象徵,出現在某些T- shirt和其他衣服標籤上。
歐萊禮擁有此圖像之商標,並且宣稱,唯有在捍衛「符號之完整性」時,才會行使其法律上的權力。歐萊禮允許此商標在非商業目的之前提下被使用,並同時供了 Programming Republic of Perl 的圖像以及 Powered by Perl 的按鈕圖。然而,駱駝其實從未被考慮成為 Perl 的官方識別符號,真要說有的話,其識別符號其實是洋蔥。
为了实现这样的目标,并且又因为 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 等语言一样优雅。