Perl 入門教程

閱讀(16672) 更新時間(2022-04-14)

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被稱為腳本語言中的瑞士軍刀。

提示:如果你學過PHPASP等其他程式語言,將有助於你更快的了解Perl 程式設計。

下面讓我們感受下第一個Perl程式吧!

Perl的Hello World程式

下面是一個在標準輸出裝置上輸出Hello World的簡單程序,這種程式通常作為開始學習程式語言的第一個範例:

實例

#!/usr/bin/env perl

print "Hello, world!\n";

#執行實例»

#點擊"運行實例" 按鈕查看線上實例

如果有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