WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
Perl
Perl是Practical Extraction and Report Language的縮寫,它是由Larry Wall設(shè)計(jì)的,并由他不斷更新和維護(hù),用于在UNIX環(huán)境下編程。它于1987年12月18日發(fā)表。Perl借取了C、sed、awk、shell scripting以及很多其他程序語言的特性。
Perl一般被稱為“實(shí)用報(bào)表提取語言”(PracticalExtraction andReportLanguage),雖然有時(shí)被稱做“病態(tài)折中垃圾列表器”(PathologicallyEclectic Rubbish Lister)。一般,“Perl”,有大寫的 P,是指語言本身,而“perl”,小寫的 p,是指程序運(yùn)行的解釋器。Perl的正式網(wǎng)站是 www.perl.org。
Perl特點(diǎn)
Perl具有高級(jí)語言(如C)的強(qiáng)大能力和靈活性。事實(shí)上,你將看到,它的許多特性是從C語言中借用來的。與腳本語言一樣,Perl不需要編譯器和鏈接器來運(yùn)行代碼,你要做的只是寫出程序并告訴Perl來運(yùn)行而已。這意味著Perl對(duì)于小的編程問題的快速解決方案和為大型事件創(chuàng)建原型來測試潛在的解決方案是十分理想的。Perl提供腳本語言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。Perl還支持sed到Perl及awd到Perl的翻譯器。
Perl的解釋程序是開放源碼的免費(fèi)軟件,使用Perl不必?fù)?dān)心費(fèi)用。Perl能在絕大多數(shù)操作系統(tǒng)運(yùn)行,可以方便地向不同操作系統(tǒng)遷移。Perl 是一種能完成任務(wù)的語言。從一開始,Perl 就設(shè)計(jì)成可以把簡單工作簡單化,同時(shí)又不失去處理困難問題能力的語言。它可以很容易操作數(shù)字,文本,文件和目錄,計(jì)算機(jī)和網(wǎng)絡(luò),特別是程序的語言。這種語言應(yīng)該很容易運(yùn)行外部的程序并且掃描這些程序的輸出獲取感興趣的東西。而且它還應(yīng)該很容易能把這些你感興趣的東西交給其它程序做特殊的處理。當(dāng)然,這種語言還應(yīng)該很容易在任何現(xiàn)代的操作系統(tǒng)上可以移植地編譯和運(yùn)行。
Perl的基本語法
- 標(biāo)量定義,以$號(hào)開頭,如:$num =1;
- 數(shù)組定義,以@開頭,如:@array = (1,2,3);
- 數(shù)組元素調(diào)用 @array[index],其中index表示數(shù)組下標(biāo),如上例,@array[0]的值是1
- 散列定義,以%開頭,如:%hash=("a",1,"b",2);
- 散列調(diào)用 %hash,其中key表示鍵值,如上例,%hash{"b"}的值是2
Perl發(fā)展現(xiàn)狀
Perl 6和Parrot并不能代表perl 的未來,發(fā)展他們只是我們的長期保險(xiǎn)政策.當(dāng)Perl 6被最終公布時(shí),Perl 5已經(jīng)用了接近7年了.當(dāng)時(shí)的核心開發(fā)人員都基本離開了,現(xiàn)在換了另一批人。(當(dāng)時(shí)我們沒有考慮到開發(fā)的繼承性,不過幸運(yùn)的是這只是暫時(shí)的問題)Perl 5的源代碼很復(fù)雜,使新的開發(fā)人員很棘手。如果沒人來對(duì)Perl的核心解釋器進(jìn)行改進(jìn),Perl能否在未來10多20年繼續(xù)作為一個(gè)開源項(xiàng)目將不清楚.
在2000 年,Larry Wall將Perl 6看成是保持Perl繼續(xù)下去的方法,而且也努力使他的這個(gè)想法在Perl的世界里流傳.那個(gè)時(shí)候的擔(dān)憂是很明顯的:如過足夠多的一流黑客都去開發(fā) Java或者是python,而不是Perl,那么我們多年來發(fā)展的并引以自豪的技術(shù)將被淘汰,而且不值一提.更進(jìn)一步,—————,從邏輯極限上講,所有的這些因素都將阻礙Perl的發(fā)展,是他成為過時(shí)的語言,不能解決將來的問題。
Perl 6被建議不應(yīng)只作為Perl的新的實(shí)現(xiàn),而應(yīng)該被設(shè)計(jì)為一門連普通人都能擴(kuò)展的語言.這能使不僅對(duì)使用Perl感興趣,而且對(duì)從語言本身和編譯/解釋器方面維護(hù)和擴(kuò)展Perl感興趣的人大大增加.一個(gè)全新的開始能幫助Perl的開發(fā)者們把Perl帶入一個(gè)與現(xiàn)在Perl 5完全不同的全新方向.
今天,3年多已經(jīng)多去了,Perl的開發(fā)社團(tuán)仍在積極的編寫新穎的軟件解決現(xiàn)實(shí)中個(gè)人和公司面臨的問題.然而我們認(rèn)為這些革新和激情還應(yīng)該出現(xiàn)在別的地方. 我們不期望新的語言能帶來一波新的創(chuàng)新的浪潮,我們希望在CPAN中出現(xiàn)大量的有革新的庫和模塊,也就是你現(xiàn)在能在Perl 5中使用的.
嚴(yán)格的說,Perl 6已經(jīng)取得了他的預(yù)期目標(biāo):使Perl繼續(xù)延續(xù)并且有趣,使創(chuàng)造性繼續(xù)在perl的社區(qū)中活躍.
這對(duì)perl的將來意味著什么呢?首先,Perl 5的進(jìn)一步發(fā)展是與Perl 6和parrot的開發(fā)并行的?,F(xiàn)在perl 5有五個(gè)活躍的發(fā)展分支.最主要的分支,perl 5.8.x,仍然生機(jī)勃勃,Jarkko Hietaniemi在今年早期發(fā)布了Perl 5.8.0的升級(jí)版Perl 5.8.1,而且將此移交給了Nick Clark,他當(dāng)前正在建造Perl 5.8.3。在十月,Hugo van der Sanden發(fā)布了最初的Perl 5.9.0的快照,此開發(fā)分枝將持續(xù)到Perl 5.10。還有這個(gè)夏天,F(xiàn)otango宣布了Arthur Bergman將為Ponie開發(fā)出力,Ponie能把Perl 5.10的代碼移值到Parrot上運(yùn)行,以替換現(xiàn)在的引擎.Perl 5.12可能是第一個(gè)能直接在Parrot上運(yùn)行的版本.
為解決那些使用舊的Perl版本的的人所面臨的系統(tǒng)兼容性的問題,Rafael Garcia-Suarez正在開發(fā)Perl 5.6.2,也就是對(duì)Perl 5.6.1的升級(jí),添加了對(duì)最新的操作系統(tǒng)和編譯器的支持.Leon和Brocard正在對(duì)Perl 5.005_04做同樣的升級(jí).
Perl將向哪個(gè)方向發(fā)展呢? perl在不斷的發(fā)展,而且是多個(gè)方向并行發(fā)展.對(duì)于日常的編程需求,以下三個(gè)版本的Perl將會(huì)幫助你把工作弄好:5.8.x,5.6.x和絕對(duì)需要的 5.005_0x.而對(duì)于那些自己能對(duì)Perl代碼進(jìn)行移植的人,5.8.x和5.9.x就足夠了.對(duì)于瘋狂工作的人,能夠用Parrot解決很多問題,最后對(duì)于不要命的編程愛好者,Larry和他的助手正在開發(fā)強(qiáng)大的Perl 6,或許對(duì)你有幫助。
對(duì)Perl有兩種說法:一種語言,或一種平臺(tái).但是Perl真正有趣的地方不是在那些語言還是平臺(tái)的問題上,而在Perl的使用率上。