Perl語言及其優缺點簡介

2021-06-16 15:52:09 字數 1311 閱讀 1352

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語言的長處: 

*強大的正規表示式和模式匹配功能(接近理想的正規表示式語言) 

*複雜靈活的資料結構(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的複雜資料結構,進行物件導向程式設計、多執行緒程式設計則不是那麼容易的事,需要很長的時間學習和實踐。 

python簡介 優缺點

優點 易於學習 python有相對較少的關鍵字,結構簡單,和乙個明確定義的語法,學習起來更加簡單。易於閱讀 python 定義的更清晰。易於維護 python的成功在於它的源 是相當容易維護的。乙個廣泛的標準庫 python的最大優勢之一是豐富的庫,跨平台的,在unix,windows和mac相容性...

繫結變數及其優缺點

變數繫結 bind variable 是指在sql語句的條件中使用變數而不是 常量。比如shared pool裡有兩條 sql語句,select from tab1 where col1 1 select from tab1 where col1 2 對oracle資料庫來說,這是兩條完全不同的sq...

Spring以及其優缺點。

什麼是spring spring 是乙個開源框架,是為了解決企業應用程式開發複雜性而建立的。在這篇由三部分組成的spring系列的第1 部分中,我將介紹spring框架。我先從框架底層模型的角度描述該框架的功能,然後將討論兩個最有趣的模組 spring面向方面程式設計 aop 和控制反轉 ioc s...