|
Perl是什么東西呢? 它是Practical Extraction Report Language等字的縮寫,是一種能掃視任意文字文件,并且能從中取出信息制成報表的解譯語言(Interpreter)。如果你懂UNIX的話,它的目 的就是用來取代UNIX原有的sed、awk與shell script的組合,用來匯集信息、產(chǎn)生報表的一個工具語言(程序)。Perl的作者是Larry Wall <lwall@netlabs.com>。他曾經(jīng)貢獻(xiàn)過好幾個很有用的Public Domain程序給大家使用,包括patch和rn。他設(shè)計Perl時的哲學(xué)是以實用為第一優(yōu)先(所謂的實用就是語言容易使用、有效率,而且完整),而不 是設(shè)計一個看起來很漂亮的語言(漂亮就是程序非常的小,語法幽雅,而且只由最少的語法基本元素構(gòu)成),所以只要你學(xué)上手了,你就會深深的喜歡上Perl的 實用性和方便性。 Perl包含了C、sed、awk和sh這幾個工具最好的特色,而且主要的語法很接近C語言,對原本熟悉C語言的人來說非常容易上手。就我個人的經(jīng)驗,除了C以外,如果能再懂shell script的語法是最好不過了,因為Perl中一些符號的使用和shell script是一致的。當(dāng)然如果又懂得awk和sed那就更好了。Larry Wall說過一句話:「Perl是懶人用的工具」(于我心有戚戚焉^_^)。如果Perl不是比其它語言更好更簡單更容易上手,恐怕很少人愿意去學(xué)習(xí)新的程序語言。 正由于Perl的特性,容易處理字符串參數(shù)的傳遞,自然成了某些特殊用途的新寵,尤其是CGI,彷佛Perl天生是為了CGI而設(shè)計的! 事實上CGI本身定義是和使用的程序語言種類無關(guān)的,你可以用C、Fortran、甚至Visual Basic、Delphi來寫CGI程序。那為什么大家現(xiàn)在都采用Perl呢? 原因有下面幾點:
一個語言的好壞,我想我們可以從三個方向來看:數(shù)據(jù)型態(tài)(data type)、流程控制敘述(control statements)、特殊功能。
說了這么多Perl的優(yōu)點,其實Perl也是有缺點的,最令人垢病的就是執(zhí)行速度。由于 Perl是直譯式的程序語言(Interpreter),不需要事先經(jīng)過編譯(compile),這一點在發(fā)展程序初期很有用,程序?qū)懞昧司涂梢灾苯?run了,但缺點是程序執(zhí)行的速度會變慢,不利于發(fā)展大程序或系統(tǒng)程序。不過Perl對上述一般解譯語言的缺點做了一點改良,它在執(zhí)行時會先加載整個程序 碼,并執(zhí)行初步的compile,包括語法檢查和建立符號表,因此Perl比一般script語言安全而且快多了。但是就我觀察所得,Perl有一些設(shè)計 實在很浪費內(nèi)存和CPU,似乎Perl并不很在意內(nèi)存和速度,而是以實用性和方便性為優(yōu)先考慮。其實由于硬件技術(shù)的進(jìn)步,對現(xiàn)在來說,內(nèi)存和CPU 速度已經(jīng)不是那么令人在意,反而程序的安全性和親和性才是考慮的重點,像Microsoft WORD這只大怪獸一樣,所以對速度要求比較多的玩家,也只有請你多多忍耐了。 總而言之,Perl的優(yōu)點多多,尤其是它優(yōu)異的處理字符串能力,更使它異軍突起,成為CGI程序的新寵,這也是為什么Perl會流行起來的主要原因。 |
| 只有注冊用戶登錄后才能發(fā)表評論。 | ||
|
||
|
相關(guān)文章:
|
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|
|


