perl 特殊字元

linhaiqiang發表於2013-12-25
一、正規表示式特殊變數:
 1、$n   :包含上次模式匹配的第n個子串
 2、$&   :前一次成功模式匹配的字串
 3、$`   :前次匹配成功的子串之前的內容
 4、$’   :前次匹配成功的子串之後的內容
 5、$+  :前一次使用括號的模式匹配的字串.
 
二、檔案控制程式碼特殊變數:
 1、$|  :如果設定為零,在每次呼叫函式write或print後,自動呼叫函式fflush,將所寫內容寫回檔案
 2、$%  :當前輸出頁號
 3、$=  :當前每頁長度
 4、$-  :當前頁剩餘的行數
 5、$~  :當前報表輸出格式的名稱.預設值是檔案控制程式碼名.
 6、$^  :當前報表輸出表頭格式的名稱.預設值是帶字尾”_TOP”的檔案控制程式碼名.
 
三、全域性特殊變數:
 1、$_和$ARG  :預設輸入和模式匹配內容.如果不指定接收輸入的變數或執行模式匹配的字串
 2、$.和$NR  :前一次讀的檔案控制程式碼的當前行號
 3、$/和$RS  :輸入記錄分隔符,預設是新行字元.如用undef這個變數,將讀到檔案結尾
 4、$,的$OFS  :輸出域分隔符.
 5、$\和$ORS  :輸出記錄分隔符
 6、$:    :斷行字元,預設是”\n-”三個字元
 7、$!  :這個變數的數字值是errno的值,字串值是對應的系統錯誤字串
 8、$@  :命令eval的錯誤訊息.如果為空,則表示上一次eval命令執行成功
 9、$$  :執行當前Perl指令碼程式的程式號
 10、$  11、$>  :當前程式的有效使用者號
 12、$(  :當前程式的實際組使用者號
 13、$)  :當前程式的有效組使用者號
 14、$[  :陣列的陣列第一個元素的下標,預設是0
 15、$]  :Perl的版本號
 16、$ARGV  :當使用”< >”讀檔案時,儲存當前檔名
 
四、全域性特殊陣列變數:
 1、@ARGV  :儲存命令列引數
 2、@INC  :儲存查詢Perl程式的目錄
 3、@_  :在子程式內,這個陣列變數包含傳遞給子程式的引數
 4、%INC  :雜湊表%INC包含所有用do或require語句包含的檔案.關鍵字是檔名,值是這個檔案的路徑
 5、%ENV  :包含當前環境變數
 五、全域性特殊檔案控制程式碼
 1、ARGV  :遍歷陣列變數@ARGV中的所有檔名的特殊檔案控制程式碼
 2、STDERR  :標準錯誤輸出控制程式碼
 3、STDIN  :標準輸入控制程式碼
 4、STDOUT  :標準輸出控制程式碼
 
PERL內建變數
 $-   當前頁可列印的行數,屬於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
 $0   包含正在執行的指令碼的檔名
 $ARGV   從預設的檔案控制程式碼中讀取時的當前檔名
 %ENV   環境變數列表
 %INC   通過do或require包含的檔案列表
 %SIG   訊號列表及其處理方式
 @_   傳給子程式的引數列表
 @ARGV   傳給指令碼的命令列引數列表
 @INC   在匯入模組時需要搜尋的目錄列表
 $-[0]和$+[0]   代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置 。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8078021/viewspace-1064311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章