
官網:https://www.perl.org/
API文檔:https://www.perl.org/docs.html
教程:http://m.o2fo.com/perl/perl-tutorial.html
下載:https://www.perl.org/get.html
Perl是什么?
Perl,一種功能豐富的計算機程序語言,運行在超過100種計算機平臺上,適用廣泛,從大型機到便攜設備,從快速原型創(chuàng)建到大規(guī)模可擴展開發(fā)。
Perl最初的設計者為拉里·沃爾(Larry Wall),于1987年12月18日發(fā)表?,F在的版本為Perl 6,于2015年12月25日更新。Perl借取了C、sed、awk、shell 腳本語言以及很多其他程序語言的特性,其中最重要的特性是它內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。簡而言之,Perl像C一樣強大,像awk、sed等腳本描述語言一樣方便,被Perl語言愛好者稱之為“一種擁有各種語言功能的夢幻腳本語言”、“Unix 中的王牌工具”。Perl 一般被稱為“實用報表提取語言”(Practical Extraction and Report Language),你也可能看到“perl”,所有的字母都是小寫的。一般,“Perl”,有大寫的 P,是指語言本身,而“perl”,小寫的 p,是指程序運行的解釋器。中文名 實際抽取與匯報語言 外文名 Perl(Practical Extraction and Reporting Language) 設計者拉里·沃爾 設計時間 1987年12月18日 借取程序語言 C、awk、shell scripting等
引言
1987年Larry Wall發(fā)布Perl1.0以來,用戶數一直急劇增加,同時越來越多的程序員與軟件開發(fā)者(商)參與Perl的開發(fā)。從最初被當做一種跨平臺環(huán)境中書寫可移植工具的高級語言開始,Perl被廣泛地認為是一種工業(yè)級的強大工具,可以在任何地方用來完成你的工作。perl的前身是Unix系統(tǒng)管理的一個工具,被用在無數的小任務里。后逐漸發(fā)展成為一種功能強大的程序設計語言,用作Web編程、數據庫處理、XML處理以及系統(tǒng)管理;在完成這些工作時,同時仍能處理日常細小工作,這是它的設計初衷。Perl特別適合系統(tǒng)管理和Web編程。實際上已經被用在所有Unix(包括Linux)捆綁在一起作為標準部件發(fā)布,同時也用于Microsoft Windows和幾乎所有操作系統(tǒng)。Perl的應用非常廣泛。基本信息
Perl 最初的設計者為拉里·沃爾(Larry Wall),他于1987年12月18日發(fā)表。Perl借取了C、sed、awk、shell 腳本語言以及很多其他程序語言的特性。其中最重要的特性是它內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。Perl 被稱為“實用報表提取語言”(Practical Extraction and Report Language)。它是術語,而不僅僅是簡寫,Perl的創(chuàng)造者,Larry Wall提出第一個,但很快又擴展到第二個。那就是為什么“Perl”沒有所有字母都大寫。沒必要爭論哪一個正確,Larry 兩個都認可。編程語言
Perl是由Larry Wall設計的,并由他不斷更新和維護的編程語言。Perl具有高級語言(如C)的強大能力和靈活性。事實上,你將看到,它的許多特性是從C語言中借用來的。Perl與腳本語言一樣,Perl不需要編譯器和鏈接器來運行代碼,你要做的只是寫出程序并告訴Perl來運行而已。這意味著Perl對于小的編程問題的快速解決方案和為大型事件創(chuàng)建原型來測試潛在的解決方案是十分理想的。Perl提供腳本語言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。Perl還支持sed到Perl及awk到Perl的翻譯器。簡而言之,Perl像C一樣強大,像awk、sed等腳本描述語言一樣方便。特點編輯Perl的解釋程序是開放源碼的免費軟件,使用Perl不必擔心費用。Perl能在絕大多數操作系統(tǒng)運行,可以方便地向不同操作系統(tǒng)遷移。Perl 是一種能完成任務的語言。從一開始,Perl 就設計成可以把簡單工作簡單化,同時又不失去處理困難問題能力的語言。它可以很容易操作數字,文本,文件和目錄,計算機和網絡,特別是程序的語言。這種語言應該很容易運行外部的程序并且掃描這些程序的輸出獲取感興趣的東西。而且它還應該很容易能把這些你感興趣的東西交給其它程序做特殊的處理。當然,這種語言還應該很容易在任何現代的操作系統(tǒng)上可以移植地編譯和運行。基本語法
變量定義,以$號開頭,如:$num =1;數組定義,以@開頭,如:@array = (1,2,3);數組元素調用 $array[index],其中index表示數組下標,如上例,$array[0]的值是1散列定義,以%開頭,如:%hash=("a",1,"b",2);散列調用 %hash,其中keys表示鍵值,多用字符串表示,注意hash的key必須具有唯一性,但value可以不唯一,為此hash的key經常被用來做唯一化處理,如上例中的"a", "b", values是keys對應的值,如1,2。$hash{"b"}的值是2。優(yōu)點
Perl追求的是簡單, 解決一個一般的問題用它幾行代碼就完成了. 一個稍復雜一點的問題代碼也不會超過一屏! 在軟件測試中,Perl通常是非常重要的角色。一般一個測試通用函數庫就要分十幾個文件,甚至更多,包含多達上千個定制功能。而這些函數將在主函數運行時,不定數量的被調用。幾乎可以說,一切自動過程都是由Perl自己完成的,
Perl 最初是當做一種 Unix 的腳本語言設計的,但是它早就移植到大多數其它操作系統(tǒng)里了。因為 Perl 幾乎可以在任何地方運行,所以 Perl 可以說是當今最具有移植性的編程環(huán)境;
Perl 是“背黑鍋我來”的語言。如果你覺得自己陷入一團亂麻之中,非??释杂?,那么請使用 Perl。Windows 上工作的 web 設計者通常會非常開心地發(fā)現他們的 Perl 程序可以不加修改地在 Unix 服務器上跑。Perl 之所以成為 Perl 是因為它從來不會因為保持簡單事情簡單化而丟失其他方面的特性。Perl 的成功有許多原因。Perl 早在開源軟件的名字出現之前就已經是一個成功的開源項目了。Perl 是自由的,并將永遠自由下去。你可以在任何合適的場合使用 Perl,只需要遵守一個非常自由的版權就可以了。如果你在從事商業(yè)活動并且還想使用 Perl,那么用就是了。你可以把 Perl 嵌入到你寫的商業(yè)軟件中而不需要支付任何費用也沒有任何限制。
Perl 是自由軟件,Perl 不僅自由;而且好玩。人們覺得自己在 Perl 里可以有創(chuàng)造力,因為它們有表達的自由:他們可以選擇是為計算機速度優(yōu)化還是為程序員的速度優(yōu)化,是冗長還是簡潔,是選擇可讀性還是可維護性,或者選擇復用性,移植性,接受性和傳授性等等。
Perl 是實用抽取和報表語言(Practical Extractoin and Report Language)。對那些熱愛她的人而言,她是變態(tài)電子垃圾制造者(Pathologically Electric Rubbish Lister)。
Perl 從一開始就是設計成膠水語言的
缺點
也正是因為Perl的靈活性和“過度”的冗余語法,也因此獲得了write-only的“美譽”,因為許多Perl程序的代碼令人難以閱讀,實現相同功能的程序代碼長度可以相差十倍百倍。但Perl同樣可以將代碼書寫得像Python或Ruby等語言一樣優(yōu)雅。很多時候,perl.exe進程會占用很多的內存空間,雖然只是一時,但是感覺不好。
下載安裝
在Linux 系統(tǒng)下、大部分類UNIX 系統(tǒng)(包括Mac OS X),perl是隨系統(tǒng)安裝的,可在命令行終端輸入命令perl -v,查看版本,對于Windows有兩種版本可用:Strawberry Perl 與 ActivePerl。