• <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 閱讀(442) 評論(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會流行起來的主要原因。

            97久久精品无码一区二区| 色综合合久久天天给综看| 婷婷伊人久久大香线蕉AV| 国产欧美久久一区二区| 亚洲性久久久影院| 热re99久久6国产精品免费| 99久久99久久精品国产片| 亚洲欧洲日产国码无码久久99| 国产精品国色综合久久| 日韩AV毛片精品久久久| 久久青草国产手机看片福利盒子| 久久人人爽人人爽AV片| 国产亚洲精品自在久久| 久久久久久毛片免费看| 日本久久久久久中文字幕| 久久人人爽人人爽人人爽| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲日韩欧美一区久久久久我| 久久精品中文字幕无码绿巨人 | 久久av无码专区亚洲av桃花岛| 久久99精品久久久久久野外| 人妻丰满AV无码久久不卡| 久久精品国产99国产精品导航| 四虎国产精品免费久久5151| 日韩人妻无码精品久久免费一| 亚洲中文字幕伊人久久无码| 久久国产精品免费| 欧美亚洲国产精品久久蜜芽| 精品久久久久久久无码| 精品国产乱码久久久久久呢| 久久亚洲国产成人影院网站| 精品久久久久久无码中文字幕 | 武侠古典久久婷婷狼人伊人| 久久国产成人午夜AV影院| 中文字幕亚洲综合久久| 久久免费视频网站| 精品久久人人妻人人做精品| 精品久久久久久国产三级| 久久精品国产亚洲一区二区三区| 国产精品热久久无码av| 天堂无码久久综合东京热|