Perl 5.16.0 发布,共修改了59万行代码
openkk 12年前
<p>Perl 5 开发团队今天很高兴的发布了 Perl 5.16.0 版本。你可以通过 CPAN 镜像获取到该版本:</p> <p>https://metacpan.org/release/RJBS/perl-5.16.0/</p> <p>你可在下载解压后的 pod 目录中找到 perldelta.pod 文件来查看具体的改进内容。</p> <p>Perl 5.16.0 包含自 5.14.0 版本以来整整 12个月的开发内容,共牵扯到的代码修改有 59 万行,2500个文件,有139 名作者参与。</p> <img title="Perl logo" alt="Perl 5.16.0 发布,共修改了59万行代码" src="https://simg.open-open.com/show/ca431c2cba631cdb11ecfc224a374c6c.png" width="90" height="90" /> <p></p> <div id="p_fullcontent" class="detail"> <p><strong>Perl</strong>是一种脚本语言。 最初的设计者为拉里·沃尔(Larry Wall),它於1987年12月18日發表。Perl借取了C、<span class="new">sed</span>、awk、shell scripting 以及很多其他程式語言的特性。其中最重要的特性是他内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN。</p> <p>Perl原名pearl,但是在這個語言官方發表前,拉里·沃尔發現已經有個程式語言“pearl”,便將這個程式語言的名字改成Perl。对于 Perl 这四个字母,有一些解釋,包括充滿幽默感的“Pathologically Eclectic Rubbish Lister”。“Practical Extraction and Report Language”曾經出現在很多有關Perl的資料裏,包括官方的主頁。不过事实上这个长名字是后来凑出来的。它的名字第一個字母大写(Perl)時就 指這個程式語言,無大写字母(perl)時就指它的直譯器。將Perl寫成“PERL”是不適當的,因為它並非一個縮寫字。</p> <p>Perl 语言的中心思想可以集成为一句话「<strong>TMTOWTDI</strong>」:</p> <blockquote style="padding-bottom:0.3em;padding-left:1em;padding-right:1em;float:none;padding-top:0.3em;" class="toccolours"> <p><em><strong>There's More Than One Way To Do It.</strong></em>(不只一种方法來做这件事。)</p> </blockquote> <p>Perl 的作者 Larry Wall 建议可以把这个缩写词念成「<em>Tim Toady</em>」。</p> <p>另一个 Perl 程序员常常想起的 Perl 俗语是:</p> <blockquote style="padding-bottom:0.3em;padding-left:1em;padding-right:1em;float:none;padding-top:0.3em;" class="toccolours"> <p><strong>Easy things should be easy, and hard things should be possible.</strong></p> </blockquote> <p><strong>Perl駱駝</strong>是歐萊禮媒體(O'Reilly Media)設計給<strong class="selflink">Perl</strong><span class="mw-redirect">程式語言</span>的圖標。牠也是一種<span class="mw-redirect">駭客</span>的象徵,出現在某些<span class="mw-redirect">T-shirt</span>和其他衣服標籤上。</p> <p>歐萊禮擁有此圖像之商標,並且宣稱,唯有在捍衛「符號之完整性」時,才會行使其法律上的權力。歐萊禮允許此商標在非商業目的之前提下被使用,並同時 供了 Programming Republic of Perl 的圖像以及 Powered by Perl 的按鈕圖。然而,駱駝其實從未被考慮成為 Perl 的官方識別符號,真要說有的話,其識別符號其實是洋蔥。</p> <p>为了实现这样的目标,并且又因为 Larry Wall 本人也是一个语言学家,他设计Perl语言时使用了很多语言学的思维。相比 C、Pascal 这样的“高级”语言而言,Perl语言直接提供泛型變數、动态数组、Hash表等更加便捷的编程元素。Perl 具有动态语言的 强大灵活的特性,并且还从C/C++、Basic、Pascal 等语言中分别借鉴了语法规则,从而提供了许多冗餘语法。使得程序员可以忽略计算机内部資料存储、类型、处理方法、运算规则、甚至内存越界等等的细节,而将 思考中心放在所需要的程序逻辑上。就这一点而言,很多 Perl 程序员认为目前只有 Perl、Python等<span class="new">泛型语言</span>才能称为“高级”语言,而 C、Pascal 甚至 C++ 这些只能称为“中高级”语言而已。可以说,在统一變數类型和掩盖运算细节方面,Perl 做得比 Python 更为出色。</p> <p>由于从其他语言大量借鉴了语法,使得从其他编程语言转到 Perl 语言的程序员可以迅速上手写程序并完成任务,这使得 Perl语言是一门容易用的语言。但问题是这样写出来的“类xx语言”的 Perl 程序对不熟悉这种语言的程序员却如同天书,这使得 Perl 语言易写不易读。</p> <p>也正是因为 Perl 的灵活性和“过度”的冗余语法,也因此获得了 write-only 的“美誉”,因为许多 Perl 程序的代码令人难以阅读,实现相同功能的程序代码长度可以相差十倍百倍。 但 Perl 同样可以将代码书写得像 Python 或 Ruby 等语言一样优雅。</p> </div>