Perl 認識簡介

2022-04-01 18:17:37 字數 1719 閱讀 7619

perl簡介

perl 是 practical extraction and report language 的縮寫,可翻譯為 "實用報表提取語言"。

perl 是高階、通用、直譯式、動態的程式語言。

perl 最初的設計者為拉里·沃爾(larry wall),於2023年12月18日發表。

perl 借用了c、sed、awk、shell指令碼以及很多其他程式語言的特性。

perl 最重要的特性是perl內部整合了正規表示式的功能,以及巨大的第三方**庫cpan。

perl,一種功能豐富的計算機程式語言,執行在超過100種計算機平台上,適用廣泛,從大型機到便攜裝置,從快速原型建立到大規模可擴充套件開發。

perl 語言的應用範圍很廣,除cgi以外,perl被用於圖形程式設計、系統管理、網路程式設計、金融、生物以及其他領域。由於其靈活性,perl被稱為指令碼語言中的瑞士軍刀。

什麼是perl?

perl是由larry wall設計的,並由他不斷更新和維護的程式語言。

perl具有高階語言(如c)的強大能力和靈活性。事實上,你將看到,它的許多特性是從c語言中借用來的。

perl與指令碼語言一樣,perl不需要編譯器和鏈結器來執行**,你要做的只是寫出程式並告訴perl來執行而已。這意味著perl對於小的程式設計問題的快速解決方案和為大型事件建立原型來測試潛在的解決方案是十分理想的。

perl提供指令碼語言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。perl還支援sed到perl及awk到perl的翻譯器。

簡而言之,perl像c一樣強大,像awk、sed等指令碼描述語言一樣方便。

perl 優點

相比c、pascal這樣的"高階"語言而言,perl語言直接提供泛型變數、動態陣列、hash表等更加便捷的程式設計元素。

perl具有動態語言的強大靈活的特性,並且還從c/c++、basic、pascal等語言中分別借鑑了語法規則,從而提供了許多冗餘語法。

在統一變數型別和掩蓋運算細節方面,perl做得比其他高階語言(如:python)更為出色。

由於從其他語言大量借鑑了語法,使得從其他程式語言轉到perl語言的程式設計師可以迅速上手寫程式並完成任務,這使得perl語言是一門容易用的語言。

perl 是可擴充套件的,我們可以通過cpan("the comprehensive perl archive network"全面的 perl 存檔網路)中心倉庫找到很多我們需要的模組。

perl 的 mod_perl 的模組允許 apache web 伺服器使用 perl 直譯器。

perl 缺點

也正是因為perl的靈活性和"過度"的冗餘語法,也因此獲得了僅寫(write-only)的"美譽",因為perl程式可以寫得很隨意(例如,變數不經宣告就可以直接使用),但是可能少寫一些字母就會得到意想不到的結果(而不報錯),許多perl程式的**令人難以閱讀,實現相同功能的程式**長度可以相差十倍百倍,這就令程式的維護者(甚至是編寫者)難以維護。

同樣的,因為perl這樣隨意的特點,可能會導致一些perl程式設計師遺忘語法,以至於不得不經常檢視perl手冊。

建議的解決方法是在程式裡使用use strict;以及use warnings;,並統一**風格,使用庫,而不是自己使用"硬編碼"。perl同樣可以將**書寫得像python或ruby等語言一樣優雅。

很多時候,perl.exe程序會占用很多的記憶體空間,雖然只是一時,但是感覺不好。

perl語言簡介

支援的運算子 流程控制 if elsif expression else while迴圈 while until迴圈 until for迴圈 for count 1 count 5 count foreach迴圈 foreach localvar listexpr do迴圈 do while or ...

Perl語言入門 Perl變數簡介

在編寫perl程式時,需要準備好兩樣工具 乙個文字編輯器和乙個perl直譯器,前者用來書寫 後者用來完成程式的編譯 解釋和執行工作。perl變數支援三種基本資料型別 標量 陣列和關聯陣列。1 標量只能儲存單個值 單個字串或單個數字。必須以美元符號 開頭。示例 number 15 name judy ...

Perl語言及其優缺點簡介

perl一般被認為是practical extraction and report language 實用獲取與報表語言 的縮寫,是由c以及sed awk unix shell及其它語言演化而來的一種語言。它由語言學家larry wall最初發明及實現。perl是一種為掃瞄任意的文字檔案,從這些文字...