Perl 是 Practical Extraction and Report Language 的縮寫,可翻譯為 “實用報表提取語言”。 Perl 是高階、通用、直譯式、動態的程式語言。 Perl 最初的設計者為拉里·沃爾(Larry Wall),於1987年12月18日發表。 Perl 借用了C、sed、awk、shell腳本以及許多其他程式語言的特性。 Perl 最重要的特性是Perl內部整合了正規..
Perl是高階、通用、解釋型、動態的程式語言家族。最初設計者拉里·沃爾為了讓在UNIX上進行報表處理的工作變得更方便,決定開發一個通用的腳本語言,而在1987年12月18日發表。目前,Perl語言家族包含兩個分支Perl 5以及Perl 6(開發中)。雖然Perl不是正式的首字母縮略詞,但仍有各種各樣的逆向首字母縮略詞,包括「實用的提取和報告語言」。
Perl借用了C、sed、awk、shell腳本以及許多其他程式語言的特性。其中最重要的功能是Perl內部整合了正規表示式的功能,以及龐大的第三方程式碼庫CPAN。
2000年開始,目前拉里·沃爾開始開發Perl 6,來作為Perl的後繼;不過,Perl 6語言的語法有很多轉變,所以Perl 6被視為Perl家族中的另一個語言。
Perl語言的應用範圍很廣,除CGI以外,Perl被用於圖形程式設計、系統管理、網路程式設計、金融、生物以及其他領域。由於其靈活性,Perl被稱為腳本語言中的瑞士軍刀。
下面讓我們感受下第一個Perl程式吧!
Perl的Hello World程式
下面是一個在標準輸出裝置上輸出Hello World的簡單程序,這種程式通常作為開始學習程式語言的第一個範例:
如果有perl 5.10以上的版本,也可以這樣:
實例
#!/usr/bin/env perl use 5.010; say "Hello, world!";
運行實例»##點擊」執行實例" 按鈕查看線上實例
這個程式將輸出一行字串:“Hello, world!”,以及一個換行。
提示:我們的perl教學將幫助您學習從初級到高級的perl知識。如果你有任何疑問,請前往PHP中文網perl社群提出你的問題,會有熱心網友為你解答。
Perl優缺點
優點
#為了實現這樣的目標,並且又因為Larry Wall本人也是一個語言學家,他設計Perl語言時使用了很多語言學的思維。相較於C、Pascal這樣的「高階」語言而言,Perl語言直接提供泛型變數、動態陣列、Hash表等更便捷的程式設計元素。 Perl具有動態語言的強大靈活的特性,並且還從C/C 、Basic、Pascal等語言中分別借鑒了語法規則,從而提供了許多冗餘語法。
使得程式設計師可以忽略電腦內部資料儲存、型別、處理方法、運算規則、甚至記憶體越界等等的細節,而將思考中心放在所需的程式邏輯上。就這一點而言,許多Perl程式設計師認為目前只有Perl、Python等泛型語言才能稱為「高階」語言,而C、Pascal甚至C 這些只能稱為「中高階」語言而已。可以說,在統一變數類型和掩蓋運算細節方面,Perl做得比Python更出色。
由於從其他語言大量借鑒了語法,使得從其他程式語言轉到Perl語言的程式設計師可以迅速上手寫程式並完成任務,這使得Perl語言是一門容易用的語言。
缺點
也正是因為Perl的彈性和「過度」的冗餘語法,也因此獲得了僅寫(write -only)的“美譽”,因為Perl程式可以寫得很隨意(例如,變量不經聲明就可以直接使用),但是可能少寫一些字母就會得到意想不到的結果(而不報錯),許多Perl程式的程式碼令人難以閱讀,實現相同功能的程式碼長度可以相差十倍百倍,這就令程式的維護者(甚至是編寫者)難以維護。
同樣的,因為Perl這樣隨意的特點,可能會導致一些Perl程式設計師遺忘語法,以至於不得不經常查看Perl手冊。對此,《Learning Perl》一書裡建議經常使用Perl程式設計。
建議的解決方法是在程式裡使用use strict;以及use warnings;,並統一程式碼風格,使用函式庫,而不是自己使用「硬編碼」。 Perl同樣可以將程式碼書寫得像Python或Ruby等語言一樣優雅。
本Perl教程手冊涵蓋的內容
本Perl教程涵蓋所有Perl基礎和高級知識,包含了Perl語法、Perl資料類型、Perl變數、Perl標量、Perl數組、Perl哈希、Perl運算子、Perl函數、Perl物件導向、Perl進程管理等等。
提示:本教學的每一章都包含了許多Perl實例,您可以直接點擊 "運行實例" 按鈕在線查看結果。這些例子將幫助您更好地理解和運用Perl。
最新章節
- Perl POD 文档 2016-10-17
- Perl 进程管理 2016-10-17
- Perl 包和模块 2016-10-17
- Perl CGI编程 2016-10-17
- Perl 数据库连接 2016-10-17
- Perl 面向对象 2016-10-17
- Perl Socket 编程 2016-10-17
- Perl 发送邮件 2016-10-17
相關課程
- 最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程) 2022-02-17
- 簡單聊聊PHP創業那點事 2023-01-04
- 大型實戰天龍八部之開發Mini版MVC架構仿糗事百科網站 2018-01-25
- 登入驗證與經典留言板 2018-03-02
- PHP實戰開發極速入門: PHP快速創建[小型商業論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動手寫 PHP MVC 框架(40節精講/鉅細/新人進階必看) 2022-12-08
- 馬士兵spring影片教學 2022-04-12