• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            perl語言簡介

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

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

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

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

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

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

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

            了這么多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ù)的進步,對現(xiàn)在來說,內(nèi)存和CPU 速度已經(jīng)不是那么令人在意,反而程序的安全性和親和性才是考慮的重點,像Microsoft WORD這只大怪獸一樣,所以對速度要求比較多的玩家,也只有請你多多忍耐了。

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

            99麻豆久久久国产精品免费| 91久久九九无码成人网站| 青青青青久久精品国产h久久精品五福影院1421 | 精品综合久久久久久98| 亚洲综合熟女久久久30p| 性欧美大战久久久久久久久| av无码久久久久不卡免费网站 | 久久夜色撩人精品国产| 91麻豆国产精品91久久久| 国产三级久久久精品麻豆三级| 91精品无码久久久久久五月天| 亚洲日本久久久午夜精品| 久久久久无码精品国产不卡| 久久久久无码精品| 久久不见久久见免费视频7| 亚洲а∨天堂久久精品| 久久国产免费观看精品| 久久天天躁狠狠躁夜夜2020一| 国产精品美女久久久| 久久婷婷人人澡人人爽人人爱| 午夜不卡888久久| 香蕉久久夜色精品升级完成| 开心久久婷婷综合中文字幕| 国产午夜福利精品久久2021| 久久精品国产99久久久古代| 久久久久国产视频电影| 亚洲国产精品人久久| 99国产欧美精品久久久蜜芽| 久久久久亚洲精品日久生情| 久久精品国产亚洲7777| 精品国产综合区久久久久久| 久久精品国内一区二区三区| 国内精品久久久久影院优| 亚洲AV日韩精品久久久久| 伊人情人综合成人久久网小说| 日本精品久久久久影院日本| 大美女久久久久久j久久| 99久久国产综合精品成人影院| 国产一区二区精品久久| 精品一区二区久久久久久久网站| 狠狠色丁香久久综合婷婷|