Perl 知識點查詢
第1章 開始學習Perl
- 以#開始的語句表示註釋。Perl語句以分號表示結束。
- Perl語言中也有轉義字元,這點與C語言類似。
- $表示該符號後所跟的字串是一個標量變數,即該變數只能儲存一個數值或者字串。 Perl語言中有兩種變數,標量變數和陣列變數。
- 在Unix中,所有程式都擁有三個開啟的檔案:STDIN(標準輸入) STDOUT(標準輸出) STDERR(標準錯誤)。Perl當然可以使用這三個。
- 使用chomp命令可以去掉多餘的資料,主要是針對回車和換行。每個系統都配置了該命令,用於去掉註釋的行末尾符號。
- Perl語言用於字串比較的操作符。eq(等於) ge(大於等於) gt(大於) le(小於等於) lt(小於) ne( 不等於) cmp(字串比較)。
- 在Unix中,可以把Perl指令碼轉換成一個可執行的程式。
第2章 Perl基礎知識
- 控制Perl指令碼--while命令, 和C語言的一樣。
- 控制Perl指令碼--until命令,實現與while正好相反的控制,只要條件為假,程式塊不斷被執行,直到條件為真結束。
- 控制Perl指令碼--if命令,和C語言的一樣。
- 控制Perl指令碼--unless命令,與if語句相反,當條件不為真是執行。語句格式與if的一樣。
- 控制Perl指令碼--for迴圈,和C語言的一樣。
- 控制Perl指令碼--foreach語句,使得對列表或陣列中的每一個元素進行迴圈。
- Perl語言的所有數學運算都以雙精度的浮點數進行。如果想使用整數操作,則需要在程式塊中增加這樣的語句:use integer;
- 單引號所引起的為字串本身,Perl對單引號中的內容提供了較少的解釋。
- 雙引號中的內容,Perl對其進行較多的解釋,可以有轉義字元,用變數的值替代變數。
- 如果資料本身已經有引號,可以使用q操作符生成字串,產生一個單引號的字串。$var=q('Single-quoted string');
- qq可以資料本身含有雙引號的字串,用法與q相似。
- 字串函式——length:返回字串中的字元數目。
- 字串函式——chr:返回一個給定ASCII碼數值對應的字元。
- 字串函式——uc:把一個小寫字串轉換成大寫。
- 字串函式——index:返回一個子串在字串出中第一次出現的位置。
- 字串函式——rindex:返回一個子串在字串中第一次出現的位置,從後往前查詢。
- 字串函式——substr:從一個字串中返回一個子串,它通常同index,rindex一起使用。$new_str=substr($string,$offset,$length);
- 字串操作符——$s1.$s2:將$s2連線在$s1的末尾並返回。
- 字串操作符——$s1 × value:將$s1重複value次並返回。
- 字串操作符——$s1.=$s2:將$s2新增到$s1的末尾。
- Perl變數主要分為三類:標量,陣列和雜湊。分別用$,@和%來區分。
- Perl認為@array和$array是兩個完全不同且沒有任何關係的值。$array[value]指的是@array的一個元素,而不是$array。
- 可以使用$#array語法確定一個陣列中元素的個數。$#array實際上指的是最後一個元素,在確定陣列元素時,需要將其加1。
- 陣列操作函式——$number=scalar(@array);獲得array陣列的長度。
- 陣列操作函式——splice,允許拼接陣列,即允許將陣列中的現有元素替換成新元素。splice(@array,$offset,$length,$replace1,$replace2,……)。返回消除的元素。
- 陣列操作函式——reverse,顛倒陣列中元素的順序。
- 陣列操作函式——sort,對陣列進行排序。
- 雜湊(又叫關聯陣列),允許通過關鍵字來訪問元素。雜湊儲存了一組關鍵字/值。用%標記雜湊變數。
- 有關雜湊的操作——keys,返回雜湊中的所有關鍵字的列表,可以通過這個表提取所有關鍵字名。
- 有關雜湊的操作——values,類似於keys操作符,從雜湊中提取所有值。
- 有關雜湊的操作——delete,從雜湊中去掉一個關鍵字/值對。
- 有關雜湊的操作——exists,報告雜湊中是否存在某一個給定的關鍵字。
- %ENV是最有用的雜湊,它儲存了系統的環境變數。
- <ARGV>表示開啟命令列中所列出的所有檔案。@ARGV是一個包含所有命令列引數的Perl陣列。Perl命令和指令碼檔案的名字並不是陣列@ARGV中的一個部分。特殊變數$0包含有正在執行的Perl指令碼名字。
- 子例程是一個有名字的Perl程式碼段。用sub語句來定義子例程。用&符號呼叫子例程。
- 子例程可以通過@_陣列訪問引數。
內部變數查詢
$- 當前頁可列印的行數,屬於Perl格式系統的一部分
$! 根據上下文內容返回錯誤號或者錯誤串
$” 列表分隔符
$# 列印數字時預設的數字輸出格式
$$ Perl直譯器的程式ID
$% 當前輸出通道的當前頁號
$& 與上個格式匹配的字串
$( 當前程式的組ID
$) 當前程式的有效組ID
$* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之.
$, 當前輸出欄位分隔符
$. 上次閱讀的檔案的當前輸入行號
$/ 當前輸入記錄分隔符,預設情況是新行
$: 字元設定,此後的字串將被分開,以填充連續的欄位.
$; 在模擬多維陣列時使用的分隔符.
$? 返回上一個外部命令的狀態
$@ Perl直譯器從eval語句返回的錯誤訊息
$[ 陣列中第一個元素的索引號
$\ 當前輸出記錄的分隔符
$] Perl直譯器的子版本號
$^ 當前通道最上面的頁面輸出格式名字
$^A 列印前用於儲存格式化資料的變數
$^D 除錯標誌的值
$^E 在非UNIX環境中的作業系統擴充套件錯誤資訊
$^F 最大的檔案捆述符數值
$^H 由編譯器啟用的語法檢查狀態
$^I 內建控制編輯器的值
$^L 傳送到輸出通道的走紙換頁符
$^M 備用記憶體池的大小
$^O 作業系統名
$^P 指定當前除錯值的內部變數
$^R 正規表示式塊的上次求值結果
$^S 當前直譯器狀態
$^T 從新世紀開始算起,腳步本以秒計算的開始執行的時間
$^W 警告開關的當前值
$^X Perl二進位制可執行程式碼的名字
$_ 預設的輸入/輸出和格式匹配空間
$| 控制對當前選擇的輸出檔案控制程式碼的緩衝
$~ 當前報告格式的名字
$` 在上個格式匹配資訊前的字串
$’ 在上個格式匹配資訊後的字串
$+ 與上個正規表示式搜尋格式匹配的最後一個括號
$< 當前執行直譯器的使用者的真實ID
$ 含有與上個匹配正規表示式對應括號結果
$= 當前頁面可列印行的數目
$> 當前程式的有效使用者ID
包含正在執行的指令碼的檔名
$ARGV 從預設的檔案控制程式碼中讀取時的當前檔名
%ENV 環境變數列表
%INC 通過do或require包含的檔案列表
%SIG 訊號列表及其處理方式
@_ 傳給子程式的引數列表
@ARGV 傳給指令碼的命令列引數列表
@INC 在匯入模組時需要搜尋的目錄列表
$-[0]和$+[0] 代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置
轉自:http://frenchen.blog.163.com/blog/static/10919864720093175614345/
相關文章
- MySQL基本知識點梳理和查詢優化MySql優化
- Mysql常用sql語句(20)- 子查詢重點知識MySql
- MySQL--基礎知識點--65--組合查詢MySql
- 【資料庫】資料查詢和管理知識點總結資料庫
- oracle檢查點的相關知識Oracle
- 關於 Laravel 資料庫查詢鎖必須要知道的知識點Laravel資料庫
- 資料結構與演算法知識點總結(5)查詢樹資料結構演算法
- OCP知識點講解 之 檢查點佇列與增量檢查點佇列
- MySQL必知必會筆記——查詢的基礎知識MySql筆記
- 知識點
- C++中一個名字查詢的小知識C++
- 演算法知識梳理(10) - 二叉查詢樹演算法
- linux知識知識點總結Linux
- Promise知識點Promise
- 面試知識點面試
- Laravel 知識點Laravel
- 通用知識點
- 前端知識點前端
- ajax知識點
- rabbitmq 知識點MQ
- Redis知識點Redis
- SQL知識點(+)SQL
- JavaWeb知識點JavaWeb
- MySQL知識點MySql
- 知識點——terms
- Weex 知識點
- mybatis知識點MyBatis
- SASS知識點
- git 知識點Git
- KVO知識點
- iOS 知識點iOS
- Web知識點Web
- mongoDB知識點MongoDB
- qc知識點
- ASM知識點ASM
- 混合知識點
- JS知識點:ES6 中常見的知識點JS
- 查詢自己機子上是否有某一Perl模組