Perl 簡介
Perl,一種功能豐富的計(jì)算機(jī)程序語言,運(yùn)行在超過100種計(jì)算機(jī)平臺上,適用廣泛,從大型機(jī)到便攜設(shè)備,從快速原型創(chuàng)建到大規(guī)模可擴(kuò)展開發(fā)。
Perl 語言的應(yīng)用范圍很廣,除CGI以外,Perl被用于圖形編程、系統(tǒng)管理、網(wǎng)絡(luò)編程、金融、生物以及其他領(lǐng)域。由于其靈活性,Perl被稱為腳本語言中的瑞士軍刀。
什么是 Perl?
Perl是由Larry Wall設(shè)計(jì)的,并由他不斷更新和維護(hù)的編程語言。
Perl具有高級語言(如C)的強(qiáng)大能力和靈活性。事實(shí)上,你將看到,它的許多特性是從C語言中借用來的。
Perl與腳本語言一樣,Perl不需要編譯器和鏈接器來運(yùn)行代碼,你要做的只是寫出程序并告訴Perl來運(yùn)行而已。這意味著Perl對于小的編程問題的快速解決方案和為大型事件創(chuàng)建原型來測試潛在的解決方案是十分理想的。
Perl提供腳本語言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。Perl還支持sed到Perl及awk到Perl的翻譯器。
簡而言之,Perl像C一樣強(qiáng)大,像awk、sed等腳本描述語言一樣方便。
Perl 優(yōu)點(diǎn)
- 相比C、Pascal這樣的"高級"語言而言,Perl語言直接提供泛型變量、動態(tài)數(shù)組、Hash表等更加便捷的編程元素。
- Perl具有動態(tài)語言的強(qiáng)大靈活的特性,并且還從C/C++、Basic、Pascal等語言中分別借鑒了語法規(guī)則,從而提供了許多冗余語法。
- 在統(tǒng)一變量類型和掩蓋運(yùn)算細(xì)節(jié)方面,Perl做得比其他高級語言(如:Python)更為出色。
- 由于從其他語言大量借鑒了語法,使得從其他編程語言轉(zhuǎn)到Perl語言的程序員可以迅速上手寫程序并完成任務(wù),這使得Perl語言是一門容易用的語言。
- Perl 是可擴(kuò)展的,我們可以通過CPAN("the Comprehensive Perl Archive Network"全面的 Perl 存檔網(wǎng)絡(luò))中心倉庫找到很多我們需要的模塊。
Perl 的 mod_perl 的模塊允許 Apache web 服務(wù)器使用 Perl 解釋器。
Perl 缺點(diǎn)
也正是因?yàn)镻erl的靈活性和"過度"的冗余語法,也因此獲得了僅寫(write-only)的"美譽(yù)",因?yàn)镻erl程序可以寫得很隨意(例如,變量不經(jīng)聲明就可以直接使用),但是可能少寫一些字母就會得到意想不到的結(jié)果(而不報(bào)錯),許多Perl程序的代碼令人難以閱讀,實(shí)現(xiàn)相同功能的程序代碼長度可以相差十倍百倍,這就令程序的維護(hù)者(甚至是編寫者)難以維護(hù)。
同樣的,因?yàn)镻erl這樣隨意的特點(diǎn),可能會導(dǎo)致一些Perl程序員遺忘語法,以至于不得不經(jīng)常查看Perl手冊。
建議的解決方法是在程序里使用use strict;以及use warnings;,并統(tǒng)一代碼風(fēng)格,使用庫,而不是自己使用"硬編碼"。Perl同樣可以將代碼書寫得像Python或Ruby等語言一樣優(yōu)雅。
很多時候,perl.exe進(jìn)程會占用很多的內(nèi)存空間,雖然只是一時,但是感覺不好。
更多建議: