Perl內建特殊變數

來源:互聯網
上載者:User

一、Regex特殊變數:

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   Regex塊的上次求值結果

$^S   當前解譯器狀態

$^T   從新世紀開始算起,腳步本以秒計算的開始啟動並執行時間

$^W   警告開關的當前值

$^X   Perl二進位可執行代碼的名字

$_   預設的輸入/輸出和格式匹配空間

$|   控制對當前選擇的輸出檔案控制代碼的緩衝

$~   當前報告格式的名字

$`   在上個格式匹配資訊前的字串

$’   在上個格式匹配資訊後的字串

$+   與上個Regex搜尋格式匹配的最後一個括弧

$<   當前執行解譯器的使用者的真實ID

$   含有與上個匹配Regex對應括弧結果

$=   當前頁面可列印行的數目

$>   當前進程的有效使用者ID

$0   包含正在執行的指令碼的檔案名稱

$ARGV   從預設的檔案控制代碼中讀取時的當前檔案名稱

%ENV   環境變數列表

%INC   通過do或require包含的檔案清單

%SIG   訊號列表及其處理方式

@_   傳給子程式的參數列表

@ARGV   傳給指令碼的命令列參數列表

@INC   在匯入模組時需要搜尋的目錄列表

$-[0]和$+[0]   代表當前匹配的Regex在被匹配的字串中的起始和終止的位置 。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.