一、正則表達式特殊變量
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] 代表當前匹配的正則表達式在被匹配的字符串中的起始和終止的位置 。 |