天天看點

Perl 簡介

Perl,一種功能豐富的計算機程式語言,運作在超過100種計算機平台上,适用廣泛,從大型機到便攜裝置,從快速原型建立到大規模可擴充開發。

Perl 語言的應用範圍很廣,除CGI以外,Perl被用于圖形程式設計、系統管理、網絡程式設計、金融、生物以及其他領域。由于其靈活性,Perl被稱為腳本語言中的瑞士軍刀。

Perl是由Larry Wall設計的,并由他不斷更新和維護的程式設計語言。

Perl具有進階語言(如C)的強大能力和靈活性。事實上,你将看到,它的許多特性是從C語言中借用來的。

Perl與腳本語言一樣,Perl不需要編譯器和連結器來運作代碼,你要做的隻是寫出程式并告訴Perl來運作而已。這意味着Perl對于小的程式設計問題的快速解決方案和為大型事件建立原型來測試潛在的解決方案是十分理想的。

Perl提供腳本語言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。Perl還支援sed到Perl及awk到Perl的翻譯器。

簡而言之,Perl像C一樣強大,像awk、sed等腳本描述語言一樣友善。

相比C、Pascal這樣的"進階"語言而言,Perl語言直接提供泛型變量、動态數組、Hash表等更加便捷的程式設計元素。

Perl具有動态語言的強大靈活的特性,并且還從C/C++、Basic、Pascal等語言中分别借鑒了文法規則,進而提供了許多備援文法。

在統一變量類型和掩蓋運算細節方面,Perl做得比其他進階語言(如:Python)更為出色。

由于從其他語言大量借鑒了文法,使得從其他程式設計語言轉到Perl語言的程式員可以迅速上手寫程式并完成任務,這使得Perl語言是一門容易用的語言。

Perl 是可擴充的,我們可以通過CPAN("the Comprehensive Perl Archive Network"全面的 Perl 存檔網絡)中心倉庫找到很多我們需要的子產品。

Perl 的 mod_perl 的子產品允許 Apache web 伺服器使用 Perl 解釋器。

也正是因為Perl的靈活性和"過度"的備援文法,也是以獲得了僅寫(write-only)的"美譽",因為Perl程式可以寫得很随意(例如,變量不經聲明就可以直接使用),但是可能少寫一些字母就會得到意想不到的結果(而不報錯),許多Perl程式的代碼令人難以閱讀,實作相同功能的程式代碼長度可以相差十倍百倍,這就令程式的維護者(甚至是編寫者)難以維護。

同樣的,因為Perl這樣随意的特點,可能會導緻一些Perl程式員遺忘文法,以至于不得不經常檢視Perl手冊。

建議的解決方法是在程式裡使用use strict;以及use warnings;,并統一代碼風格,使用庫,而不是自己使用"寫死"。Perl同樣可以将代碼書寫得像Python或Ruby等語言一樣優雅。

很多時候,perl.exe程序會占用很多的記憶體空間,雖然隻是一時,但是感覺不好。