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進程會佔用很多的記憶體空間,雖然只是一時,但感覺不好。