Perl內建特殊變數

2021-06-21 09:53:34 字數 3066 閱讀 4661

一、正規表示式特殊變數:

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]   代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置 。

Perl內建特殊變數

一 正規表示式 特殊變數 1 n 包含上次模式匹配的第n個子串 2 前一次成功模式匹配的字串 3 前次匹配成功的子串之前的內容 4 前次匹配成功的子串之後的內容 5 前一次使用括號的模式匹配的字串.二 檔案控制代碼 特殊變數 1 如果設定為零,在每次呼叫函式write或print後,自動呼叫函式ff...

perl的內建特殊變數

當前頁可列印的行數,屬於perl格式系統的一部分 根據上下文內容返回錯誤號或者錯誤串 列表分隔符 列印數字時預設的數字輸出格式 perl直譯器的程序id 當前輸出通道的當前頁號 與上個格式匹配的字串 當前程序的組id 當前程序的有效組id 設定1表示處理多行格式.現在多以 s和 m修飾符取代之.當前...

perl的內建特殊變數一

當前頁可列印的行數,屬於perl格式系統的一部分 根據上下文內容返回錯誤號或者錯誤串 列表分隔符 列印數字時預設的數字輸出格式 perl直譯器的程序id 當前輸出通道的當前頁號 與上個格式匹配的字串 當前程序的組id 當前程序的有效組id 設定1表示處理多行格式.現在多以 s和 m修飾符取代之.當前...