Perl 是 Practical Extraction and Report Language 的縮寫,可翻譯為 “實用報表提取語言”。 Perl 是高級、通用、直譯式、動態(tài)的程序語言。 Perl 最初的設(shè)計者為拉里·沃爾(Larry Wall),于1987年12月18日發(fā)表。 Perl 借用了C、sed、awk、shell腳本以及很多其他編程語言的特性。 Perl 最重要的特性是Perl內(nèi)部集成了正則..
Perl是高端、通用、解釋型、動態(tài)的編程語言家族。最初設(shè)計者拉里·沃爾為了讓在UNIX上進行報表處理的工作變得更方便,決定開發(fā)一個通用的腳本語言,而在1987年12月18日發(fā)表。當(dāng)前,Perl語言家族包含兩個分支Perl 5以及Perl 6(開發(fā)中)。雖然Perl不是正式的首字母縮略詞,但仍有各種各樣的逆向首字母縮略詞,包括“實用的提取和報告語言”。
Perl借用了C、sed、awk、shell腳本以及很多其他編程語言的特性。其中最重要的特性是Perl內(nèi)部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。
2000年開始,當(dāng)前拉里·沃爾開始開發(fā)Perl 6,來作為Perl的后繼;不過,Perl 6語言的語法有很多轉(zhuǎn)變,所以Perl 6被視為Perl家族中的另一個語言。
Perl語言的應(yīng)用范圍很廣,除CGI以外,Perl被用于圖形編程、系統(tǒng)管理、網(wǎng)絡(luò)編程、金融、生物以及其他領(lǐng)域。由于其靈活性,Perl被稱為腳本語言中的瑞士軍刀。
下面讓我們感受下第一個Perl程序吧!
Perl的Hello World程序
下面是一個在標(biāo)準(zhǔn)輸出設(shè)備上輸出Hello World的簡單程序,這種程序通常作為開始學(xué)習(xí)編程語言的第一個示例:
如果有perl 5.10以上的版本,也可以這樣:
這個程序?qū)⑤敵鲆恍凶址骸癏ello, world!”,以及一個換行。
提示:我們的perl教程將幫助您學(xué)習(xí)從初級到高級的perl知識。如果你有任何疑問,請前往PHP中文網(wǎng)perl社區(qū)提出你的問題,會有熱心網(wǎng)友為你解答。
Perl優(yōu)缺點
優(yōu)點
為了實現(xiàn)這樣的目標(biāo),并且又因為Larry Wall本人也是一個語言學(xué)家,他設(shè)計Perl語言時使用了很多語言學(xué)的思維。相比C、Pascal這樣的“高級”語言而言,Perl語言直接提供泛型變量、動態(tài)數(shù)組、Hash表等更加便捷的編程元素。Perl具有動態(tài)語言的強大靈活的特性,并且還從C/C 、Basic、Pascal等語言中分別借鑒了語法規(guī)則,從而提供了許多冗余語法。
使得程序員可以忽略計算機內(nèi)部數(shù)據(jù)存儲、類型、處理方法、運算規(guī)則、甚至內(nèi)存越界等等的細節(jié),而將思考中心放在所需要的程序邏輯上。就這一點而言,很多Perl程序員認為當(dāng)前只有Perl、Python等泛型語言才能稱為“高級”語言,而C、Pascal甚至C 這些只能稱為“中高級”語言而已??梢哉f,在統(tǒng)一變量類型和掩蓋運算細節(jié)方面,Perl做得比Python更為出色。
由于從其他語言大量借鑒了語法,使得從其他編程語言轉(zhuǎn)到Perl語言的程序員可以迅速上手寫程序并完成任務(wù),這使得Perl語言是一門容易用的語言。
缺點
也正是因為Perl的靈活性和“過度”的冗余語法,也因此獲得了僅寫(write-only)的“美譽”,因為Perl程序可以寫得很隨意(例如,變量不經(jīng)聲明就可以直接使用),但是可能少寫一些字母就會得到意想不到的結(jié)果(而不報錯),許多Perl程序的代碼令人難以閱讀,實現(xiàn)相同功能的程序代碼長度可以相差十倍百倍,這就令程序的維護者(甚至是編寫者)難以維護。
同樣的,因為Perl這樣隨意的特點,可能會導(dǎo)致一些Perl程序員遺忘語法,以至于不得不經(jīng)常查看Perl手冊。對此,《Learning Perl》一書里建議經(jīng)常使用Perl編程。
建議的解決方法是在程序里使用use strict;以及use warnings;,并統(tǒng)一代碼風(fēng)格,使用庫,而不是自己使用“硬編碼”。Perl同樣可以將代碼書寫得像Python或Ruby等語言一樣優(yōu)雅。
本Perl教程手冊涵蓋的內(nèi)容
本Perl教程涵蓋所有Perl基礎(chǔ)和高級知識,包含了Perl語法、Perl數(shù)據(jù)類型、Perl變量、Perl標(biāo)量、Perl數(shù)組、Perl哈希、Perl運算符、Perl函數(shù)、Perl面向?qū)ο?、Perl進程管理等等。
提示:本教程的每一章都包含了很多Perl實例,您可以直接點擊?"運行實例"?按鈕在線查看結(jié)果。這些例子將幫助您更好地理解和運用Perl。
最新章節(jié)
- Perl POD 文檔 2016-10-17
- Perl 進程管理 2016-10-17
- Perl 包和模塊 2016-10-17
- Perl CGI編程 2016-10-17
- Perl 數(shù)據(jù)庫連接 2016-10-17
- Perl Socket 編程 2016-10-17
- Perl 發(fā)送郵件 2016-10-17
相關(guān)課程
- 最新ThinkPHP 5.1全球首發(fā)視頻教程(60天成就PHP大牛線上培訓(xùn)班課) 2022-02-17
- 簡單聊聊PHP創(chuàng)業(yè)那點事 2023-01-04
- 大型實戰(zhàn)天龍八部之開發(fā)Mini版MVC框架仿糗事百科網(wǎng)站 2018-01-25
- 登錄驗證與經(jīng)典留言板 2018-03-02
- PHP實戰(zhàn)開發(fā)極速入門: PHP快速創(chuàng)建[小型商業(yè)論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動手寫 PHP MVC 框架(40節(jié)精講/巨細/新人進階必看) 2022-12-08
- 馬士兵spring視頻教程 2022-04-12