• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            perl語言簡介

            Posted on 2010-01-25 16:23 Prayer 閱讀(438) 評論(0)  編輯 收藏 引用 所屬分類: PERL

            Perl是什么東西呢? 它是Practical Extraction Report Language等字的縮寫,是一種能掃視任意文字文件,并且能從中取出信息制成報表的解譯語言(Interpreter)。如果你懂UNIX的話,它的目 的就是用來取代UNIX原有的sedawkshell script的組合,用來匯集信息、產生報表的一個工具語言(程序)Perl的作者是Larry Wall <lwall@netlabs.com>。他曾經貢獻過好幾個很有用的Public Domain程序給大家使用,包括patchrn。他設計Perl時的哲學是以實用為第一優先(所謂的實用就是語言容易使用、有效率,而且完整),而不 是設計一個看起來很漂亮的語言(漂亮就是程序非常的小,語法幽雅,而且只由最少的語法基本元素構成),所以只要你學上手了,你就會深深的喜歡上Perl的 實用性和方便性。

            Perl包含了Csedawksh這幾個工具最好的特色,而且主要的語法很接近C語言,對原本熟悉C語言的人來說非常容易上手。就我個人的經驗,除了C以外,如果能再懂shell script的語法是最好不過了,因為Perl中一些符號的使用和shell script是一致的。當然如果又懂得awksed那就更好了。Larry Wall說過一句話:「Perl是懶人用的工具」(于我心有戚戚焉^_^)。如果Perl不是比其它語言更好更簡單更容易上手,恐怕很少人愿意去學習新的程序語言。

            由于Perl的特性,容易處理字符串參數的傳遞,自然成了某些特殊用途的新寵,尤其是CGI,彷佛Perl天生是為了CGI而設計的! 事實上CGI本身定義是和使用的程序語言種類無關的,你可以用CFortran、甚至Visual BasicDelphi來寫CGI程序。那為什么大家現在都采用Perl? 原因有下面幾點:

            • ⊙Perl有非常杰出的文字處理能力,能輕易地產生HTML檔,尤其它具有完整的Regular Expression語法,使得在C語言看來必需要寫一大串程序代碼的功能,Perl幾行就解決了。
            • ⊙Perl是一種直譯式語言,因此可以避免在各種不同系統上,還需要重新編譯的麻煩。
            • ⊙Perl的檢查旗標(-T)可以保護你的Web Server,避免被未經授權的client破壞。

            個語言的好壞,我想我們可以從三個方向來看:數據型態(data type)、流程控制敘述(control statements)、特殊功能。

            • .Perl的數據型態跟C語言和Pascal不大一樣,但它也支持指標(pointerPerl5以后才支持),所以也可以和C語言一樣組合出很復雜的數據結構(data structure)。特別的是Perl有一種新的data type:相關數組,它和一般數組沒什么不同,差別只在它的索引值是用字符串,而非一般常用的整數值,因此相關數組不像一般數組一樣有次序的概念,它沒有所謂的第一項數據這種說法。我個人認為如果能善用這種data type會帶給你意想不到的收獲哦。
            • .Perl的條件控制敘述(conditional control statements)與循環控制敘述(loop control statements)幾乎和C語言一模一樣,甚至語法和一些常用的指令也和C語言很類似,這對一般使用者而言是很方便的,可以很快的讓使用者進入狀況, 進一步了解Perl的精華。而在Perl5中又引進了模塊化和區域變量(local variables)的觀念,大大的增強了Perl的能力,使Perl幾乎變得無所不能。
            • .Perl處理字符串的能力是眾所皆知的,除了它的純量變量(scalar variable)可以很輕易的存取字符串,特別的是Perl提供和UNIX很相近的Regular Expressions語法,這種格式辨認(pattern-matching)的語法很復雜但十分強大,大大地增強了Perl處理字符串的能力,要善用Perl處理字符串的能力,就得先對Regular Expressions痛下一番功夫不可。這個東東實在不好懂,不過只要你用上了手,真的是如虎添翼,每次使用時都會為它強大的功能竊喜,反而覺得C平淡無奇。另外Perl有一堆特殊的全域變量(global variables),用來設定程序的執行環境和其它細節,可能小到數組索引的起始值,大到輸出字段的分隔符號都有影響。這么多的特殊變量對大多數的人而言是只是個困擾,但是我建議若要深入了解Perl、善用Perl,最好多了解這些特殊變量的意義。

            了這么多Perl的優點,其實Perl也是有缺點的,最令人垢病的就是執行速度。由于 Perl是直譯式的程序語言(Interpreter),不需要事先經過編譯(compile),這一點在發展程序初期很有用,程序寫好了就可以直接 run了,但缺點是程序執行的速度會變慢,不利于發展大程序或系統程序。不過Perl對上述一般解譯語言的缺點做了一點改良,它在執行時會先加載整個程序 碼,并執行初步的compile,包括語法檢查和建立符號表,因此Perl比一般script語言安全而且快多了。但是就我觀察所得,Perl有一些設計 實在很浪費內存和CPU,似乎Perl并不很在意內存和速度,而是以實用性和方便性為優先考慮。其實由于硬件技術的進步,對現在來說,內存和CPU 速度已經不是那么令人在意,反而程序的安全性和親和性才是考慮的重點,像Microsoft WORD這只大怪獸一樣,所以對速度要求比較多的玩家,也只有請你多多忍耐了。

            而言之,Perl的優點多多,尤其是它優異的處理字符串能力,更使它異軍突起,成為CGI程序的新寵,這也是為什么Perl會流行起來的主要原因。

            亚洲午夜精品久久久久久app| 精品乱码久久久久久久| 久久久久人妻精品一区三寸蜜桃| 精品久久久久久无码中文野结衣| 欧美亚洲日本久久精品| 亚洲伊人久久大香线蕉综合图片| 久久久国产精品网站| 久久天天躁狠狠躁夜夜av浪潮| 久久无码AV一区二区三区| 久久国产高潮流白浆免费观看| 国产L精品国产亚洲区久久 | 久久综合九色综合97_久久久| 久久一区二区三区免费| 久久精品麻豆日日躁夜夜躁| 亚洲欧美日韩精品久久亚洲区| 狠狠色婷婷久久一区二区三区| 思思久久好好热精品国产| 麻豆精品久久精品色综合| 久久久无码精品亚洲日韩蜜臀浪潮| 国内精品久久久久影院网站| 97久久超碰国产精品旧版| 伊人久久大香线蕉av不变影院| 无码任你躁久久久久久久| 国产日韩久久免费影院| 亚洲国产精品久久久久婷婷软件| 久久婷婷色综合一区二区| 久久一区二区三区免费| 久久久久久亚洲精品不卡| 大美女久久久久久j久久| 91精品国产91久久久久久青草| 久久w5ww成w人免费| 久久久久人妻精品一区| 亚洲AV无码久久寂寞少妇| 久久毛片一区二区| 久久这里只有精品首页| 久久久国产打桩机| 777午夜精品久久av蜜臀| 亚洲AV无码一区东京热久久| 无码专区久久综合久中文字幕| 青青草原精品99久久精品66 | 日韩中文久久|