| 導購 | 订阅 | 在线投稿
分享
 
 
 

Perl五年來第一次發布新版本

2008-05-21 09:49:01  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

國際消息 Perl編程語言于當地時間聖誕節期間發布了新版本Perl 5.10,這也是從2002年至今這門“廣爲流傳的動態語言”的第一次。Perl 5.10添加了新的語言特性和新改進的Perl 解釋器。

Perl 是由 Larry Wall 創造的一門動態程序語言,首次發布于1987 年。在20年的曆史裏,Perl 借用了多種語言如C ,shell(sh), AWK, sed 以及Lisp 的特性。Perl 已經成爲幾乎所有 Unix 系統的標准配置之一,並可以在許多的操作系統上運行,包括 Windows,Mac OS X,Solaris,z/OS,os400,QNX 以及 Symbian。

Perl的語法靈活性有時使它變得難以閱讀,而像Python由于固定的語法結構在這些年已經勝過了Perl。而且Web開發的腳本語言比如PHP、Ruby等也已經開始漸漸取代了Perl一度擁有的優勢。20年來Perl的境況每況愈下,到今天已如殘燭。

新特性

顯著的新語言特性。最令人興奮的改進是全新的智能匹配操作符(smart match operator) 。該操作符實現了一種全新的比較方式,而其具體作用是隨操作符接受的輸入而有所不同的。舉例而言,要看標量 $needle 是否存在于數組 @haystack 中,只要使用新的 ~~ 操作符:

if ( $needle ~~ @haystack ) ...

其結果將會"正如你所願",而這正是 Perl 語言一貫的標志性做法。在此操作符的基礎之上,Perl 語言終于有了 switch 語句 ,而且它比任何傳統的 switch 語句,像 C,C++ 和 JAVA 擁有的那些,要先進得多。

正則表達式也變得更加強大了。程序員們現在可以在正則表達式中使用用命名的捕獲變量 (named captures) ,而不是數括號來獲知匹配的捕獲變量。Perl 5.10 還支持嵌套匹配,使得我們現在可以使用許多有效的匹配結構,尤其是在句法解析時。盡管添加了新的特性,正則表達引擎在很多方面做了精心調整並且提高了速 度。

他的改進包括可在函數內持續的狀態變量(state variable) ,使用戶可以自己調整 Perl 運行方式的用戶自定義 pragmata ,一個 "定義或" 的操作符 ,爲翻轉對象(inside-out objects)提供的符號哈希表(field hashes) ,以及改進的錯誤信息。

解釋器的改進

並非只有程序語言的改進,Perl 解釋器本身已變得更快,更少內存占用(memory footprint) ,還有了一些 UTF-8 及線程方面的改進。Perl 的安裝方式變成了可移動的,這給系統管理員以及操作系統制作者們來說實在是大好消息。源代碼現在變得更易移植,很多小 bug 也被順手改正了。所有這一切都造就了目前爲止最棒的Perl.。

想要了解關于5.10所有的改動,請看 Perl 5.10 源代碼版本中自帶的perldelta 文檔。(link: http://search.cpan.org/dist/perl-5.10.0/pod/perl5100delta.pod) 想看簡易一點的介紹的話, Ricardo Signes' 的講義 Perl 5.10 For People Who Aren't Totally Insane (link: http://www.slideshare.net/rjbs/p ... rent-totally-insane) 值得一讀。

如何獲取 Perl

Perl 在除 Windows 之外的幾乎所有的操作系統裏都已成爲標准配置了。不過不想慢慢等待系統升級包的用戶可以從 CPAN (the Comprehensive Perl Archive Network )自行下載 Perl 5.10 。地址是 http://search.cpan.org/dist/perl/ ,或者從 Perl 的主頁 www.perl.org 下載。

Windows 用戶可以編譯從 CPAN 獲取的源代碼來取得 Perl,或者也可以下載兩個易于安裝的已編譯版本中的一個。 Strawberry Perl (link: http://strawberryperl.com/) 是用戶群爲 Windows 制作的已編譯版本,而 ActiveState (link: http://activestate.com/) 的版本由商業公司維護但是同樣免費。ActiveState 版本已經可以獲取,Stawberry Perl 也即將完成。

國際消息 Perl編程語言于當地時間聖誕節期間發布了新版本Perl 5.10,這也是從2002年至今這門“廣爲流傳的動態語言”的第一次。Perl 5.10添加了新的語言特性和新改進的Perl 解釋器。 Perl 是由 Larry Wall 創造的一門動態程序語言,首次發布于1987 年。在20年的曆史裏,Perl 借用了多種語言如C ,shell(sh), AWK, sed 以及Lisp 的特性。Perl 已經成爲幾乎所有 Unix 系統的標准配置之一,並可以在許多的操作系統上運行,包括 Windows,Mac OS X,Solaris,z/OS,os400,QNX 以及 Symbian。 Perl的語法靈活性有時使它變得難以閱讀,而像Python由于固定的語法結構在這些年已經勝過了Perl。而且Web開發的腳本語言比如PHP、Ruby等也已經開始漸漸取代了Perl一度擁有的優勢。20年來Perl的境況每況愈下,到今天已如殘燭。 新特性 顯著的新語言特性。最令人興奮的改進是全新的智能匹配操作符(smart match operator) 。該操作符實現了一種全新的比較方式,而其具體作用是隨操作符接受的輸入而有所不同的。舉例而言,要看標量 $needle 是否存在于數組 @haystack 中,只要使用新的 ~~ 操作符: if ( $needle ~~ @haystack ) ... 其結果將會"正如你所願",而這正是 Perl 語言一貫的標志性做法。在此操作符的基礎之上,Perl 語言終于有了 switch 語句 ,而且它比任何傳統的 switch 語句,像 C,C++ 和 JAVA 擁有的那些,要先進得多。 正則表達式也變得更加強大了。程序員們現在可以在正則表達式中使用用命名的捕獲變量 (named captures) ,而不是數括號來獲知匹配的捕獲變量。Perl 5.10 還支持嵌套匹配,使得我們現在可以使用許多有效的匹配結構,尤其是在句法解析時。盡管添加了新的特性,正則表達引擎在很多方面做了精心調整並且提高了速 度。 他的改進包括可在函數內持續的狀態變量(state variable) ,使用戶可以自己調整 Perl 運行方式的用戶自定義 pragmata ,一個 "定義或" 的操作符 ,爲翻轉對象(inside-out objects)提供的符號哈希表(field hashes) ,以及改進的錯誤信息。 解釋器的改進 並非只有程序語言的改進,Perl 解釋器本身已變得更快,更少內存占用(memory footprint) ,還有了一些 UTF-8 及線程方面的改進。Perl 的安裝方式變成了可移動的,這給系統管理員以及操作系統制作者們來說實在是大好消息。源代碼現在變得更易移植,很多小 bug 也被順手改正了。所有這一切都造就了目前爲止最棒的Perl.。 想要了解關于5.10所有的改動,請看 Perl 5.10 源代碼版本中自帶的perldelta 文檔。(link: http://search.cpan.org/dist/perl-5.10.0/pod/perl5100delta.pod) 想看簡易一點的介紹的話, Ricardo Signes' 的講義 Perl 5.10 For People Who Aren't Totally Insane (link: http://www.slideshare.net/rjbs/p ... rent-totally-insane) 值得一讀。 如何獲取 Perl Perl 在除 Windows 之外的幾乎所有的操作系統裏都已成爲標准配置了。不過不想慢慢等待系統升級包的用戶可以從 CPAN (the Comprehensive Perl Archive Network )自行下載 Perl 5.10 。地址是 http://search.cpan.org/dist/perl/ ,或者從 Perl 的主頁 www.perl.org 下載。 Windows 用戶可以編譯從 CPAN 獲取的源代碼來取得 Perl,或者也可以下載兩個易于安裝的已編譯版本中的一個。 Strawberry Perl (link: http://strawberryperl.com/) 是用戶群爲 Windows 制作的已編譯版本,而 ActiveState (link: http://activestate.com/) 的版本由商業公司維護但是同樣免費。ActiveState 版本已經可以獲取,Stawberry Perl 也即將完成。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有