perl學習筆記九 特殊變數

2021-05-24 07:33:45 字數 2563 閱讀 9052

特殊變數

一 預設變數和引數

變數名  英文名稱  說明 

$_  $arg  全域性標量充當函式引數以及模式尋找空

間的預設變數

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

@_  n/a  儲存陣列引數,訪問方式: $_[num] 

傳給子程式的引數列表

@argv  n/a  指令碼的命令列引數 

$argv  n/a  當從空檔案頭<>讀取時,它包含了當前檔案的檔名 

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

二 正規表示式變數

$(num)  n/a  n/a 

$&  $match  最近一次成功的匹配中相匹配的字串 

$'  $postmatch  最近一次成功的匹配子串之後的字串 

$`  $prematch  最近一次成功的匹配子串之前的字串

$+  $last_paren_match  最近一次成功的匹配同一組子模式相匹配的最後

乙個子串 

與上個正規表示式搜尋格式匹配的最後乙個括號 

三 輸入/輸出變數

$.  $input_line_number 上次閱讀的檔案的當前輸入行號

$/  $input_record_separator 

$/   $output_record_separator 當前輸入記錄分隔符,預設情況是新行

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

$,  $output_field_separator 當前輸出字段分隔符

$"  $list_separator 列表分隔符 

$*  設定1表示處理多行格式.現在多以/s和/m修飾符取代之. 

$-[0] 代表當前匹配的正規表示式在被匹配的字串中的起始的位置

$+[0]  代表當前匹配的正規表示式在被匹配的字串中的終止的位置

四 檔案控制代碼/格式變數

$#  $ofmt 列印數字時預設的數字輸出格式 

$  $output_autoflush 當前輸出記錄的分隔符

$%  $format_page_number 當前輸出通道的當前頁號

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

$-  $format_lines_left 當前頁可列印的行數,屬於perl格式系統的一部分

$~  $format_name 當前報告格式的名字

$^  $format_top_name 當前通道最上面的頁面輸出格式名字 

$:  $format_line_break_characters 字元設定,此後的字串將被分開,以填充連續的字段

$^l  $format_formfeed 傳送到輸出通道的走紙換頁符

$^a  $accumulator 列印前用於儲存格式化資料的變數

$;  在**多維陣列時使用的分隔符

五 錯誤變數

$?  $child_error 返回上乙個外部命令的狀態

$@  $eval_error perl直譯器從eval語句返回的錯誤訊息

$!  $errno  #根據上下文內容返回錯誤號或者錯誤串

$^e  $extended_os_error 在非unix環境中的作業系統擴充套件錯誤資訊

六 系統變數

$$  $process_id perl直譯器的程序id

$<  $real_user_id 當前執行直譯器的使用者的真實id 

$>  $effective_user_id 當前程序的有效使用者id

$(  $real_group_id 當前程序的組id

$)  $effective_group_id 當前程序的有效組id

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

$^x  $executable_name perl二進位制可執行**的名字

$]  n/a 陣列中第乙個元素的索引號 

$[  n/a perl直譯器的子版本號 

$^o  $osname 作業系統名

$^t  $basetime 從新世紀開始算起,腳步本以秒計算的開始執行的時間 

$^w  $warning 警告開關的當前值

%env  n/a 環境變數列表

%sig  n/a 訊號列表及其處理方式

$^c  $compiling 

$^d  $debugging 除錯標誌的值

$^f  $system_fd_max 最大的檔案捆述符數值

$^i  $inplace_edit 內建控制編輯器的值

$^m  n/a 備用記憶體池的大小

$^p  $perldb 指定當前除錯值的內部變數

$^r  $last_regexp_code_result 正規表示式塊的上次求值結果

$^s  $exceptions_being_caught 當前直譯器狀態

$^v  $perl_version 

$^h  由編譯器啟用的語法檢查狀態 

七 其餘

@inc  n/a 在匯入模組時需要搜尋的目錄列表 

%inc  去n/a 通過do或require包含的檔案列表

perl學習筆記九 特殊變數

特殊變數 一 預設變數和引數 變數名 英文名稱 說明 arg 全域性標量充當函式引數以及模式尋找空 間的預設變數 預設的輸入 輸出和格式匹配空間 n a 儲存陣列引數,訪問方式 num 傳給子程式的引數列表 argv n a 指令碼的命令列引數 argv n a 當從空檔案頭 讀取時,它包含了當前檔...

perl學習筆記 特殊變數

特殊變數 一 預設變數和引數 變數名 英文名稱 說明 arg 全域性標量充當函式引數以及模式尋找空 間的預設變數 預設的輸入 輸出和格式匹配空間 n a 儲存陣列引數,訪問方式 num 傳給子程式的引數列表 ar n a 指令碼的命令列引數 ar n a 當從空檔案頭 讀取時,它包含了當前檔案的檔名...

perl特殊變數

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