Perl語言及其優缺點簡介

來源:互聯網
上載者:User
Perl一般被認為是Practical Extraction and Report Language(實用擷取與報表語言)的縮寫,是由C以及sed、awk、Unix shell及其它語言演化而來的一種語言。它由語言學家Larry Wall最初發明及實現。Perl是一種為掃描任意的文字檔,從這些文字檔中擷取資訊,基於這些資訊列印報表而最佳化的語言。它也很適合於完成許多系統管理的任務。Perl是一種粘合性語言,旨在實用(易用、高效、完整)而不是漂亮(優美、小巧)。其吉祥物是駱駝,取其雖並不漂亮卻任勞任怨、能幹活之特點。 
Perl不隨意限制資料的大小,只要你有充足的記憶體。遞迴的深度也不受限制。關聯陣列使用可以根據需要擴充以避免效能衰退。Perl能利用複雜的模式比對技巧來快速掃描大量資料。儘管善於處理文本,Perl也能處理位元據。 
Perl 5增加了模組化處理、物件導向編程、引進引用以處理多維陣列等複雜的資料結構、Unicode支援、多線程支援等功能,使得Perl成為一種更加完備強大的語言。(以上編譯自Perl manpage的Perl語言簡介) 
Perl語言的座右銘是:There’s More Than One Way To Do It (TMTOWTDI,有多種方法可以完成一件事,或者“條條道路通北京”)。Perl是一種自然和智能語言,它能根據上下文環境解釋執行,同時有大量省略寫法。 
如果你通常想使用sed、awk或sh來解決的問題,但是卻發現它們的能力不夠,或者想運行得更快一點,卻不想傻傻地用C來寫,Perl將是很好的選擇。Perl擅長於文本處理和系統管理,不適合於即時嵌入式系統編程、作業系統底層開發(比如驅動程式開發)、複雜的多線性共用記憶體應用以及極度大的應用。 
Perl語言的長處: 
*強大的Regex和模式比對功能(接近理想的Regex語言) 
*複雜靈活的資料結構(Array of Array, Array of Hash,Hash of Array, Hash of Hash等) 
*Unicode支援(相對AWK與C) 
其不足是: 
*動態類型語言,不是很可靠 
*自然語言,是優點也是缺陷,使得Perl語言代碼可能晦澀難懂; 
*智能語言,是優點也產生不足:根據上下文解釋編程者之意,可能產生臆斷;也因此產生種種編程陷阱。 
*不是很優美。多種方法做事,有時會讓編程者無所適從。 
*效能問題。Perl靈活的資料結構和處理效能通常不是很高(相對C/C++),若需要高效能的處理有時需要使用其它語言重寫。 
Perl語言的學習曲線淺而長。只要看看《Learning Perl》,就可以編寫簡單的Perl程式了,然而要深入掌握Perl,要使用Perl的複雜資料結構,進行物件導向編程、多線程編程則不是那麼容易的事,需要很長的時間學習和實踐。 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.