有關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.