Perl中的內建變數(預設變數)彙總

2021-05-24 04:55:16 字數 2289 閱讀 3366

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

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

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

%env 環境變數列表

%inc 通過do或require包含的檔案列表

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

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

@argv 傳給指令碼的命令列引數列表

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

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

@_的示例:

#!/bin/perl -w

use strict;

&fun( 111,222,333 );

sub fun()

這裡會把傳入函式的引數111222333列印出來。

$_示例:

下面的幾對**都是等同的:

while (<>)     # equivalent only in while!

while (defined($_ = <>))

/^subject:/

$_ =~ /^subject:/

tr/a-z/a-z/

$_ =~ tr/a-z/a-z/

chomp

chomp($_)

以下是幾處即使沒有寫明 perl 也會假定使用 $_ 的地方:

*  各種單目函式,包括像 ord() 和 int() 這樣的函式以及除 "-t"

以外所有的檔案 測試操作 ("-f","-d"),"-t" 預設操作 stdin。

*  各種列表函式,例如 print() 和 unlink()。

*  沒有使用 "=~" 運算子時的模式匹配操作 "m//"、"s///" 和

"tr///"。

*  在沒有給出其他變數時是 "foreach" 迴圈的預設迭代變數。

*  grep() 和 map() 函式的隱含迭代變數。

*  當 "while" 僅有唯一條件,且該條件是對 ""

操作的結果進行測試時,$_ 就是存放輸入記錄的預設位置。除了

"while" 測試條件之外不會發生這種情況。

(助記:下劃線在特定操作中是可以省略的。)

perl內建變數

以下為個人所知的perl內建變數,如有缺,請發帖新增 當前頁可列印的行數,屬於perl格式系統的一部分 根據上下文內容返回錯誤號或者錯誤串 列表分隔符 列印數字時預設的數字輸出格式 perl直譯器的程序id 當前輸出通道的當前頁號 與上個格式匹配的字串 當前程序的組id 當前程序的有效組id 設定1...

Perl 內建變數

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

PERL 內建變數

use vars qw myconfig myconfig config file name default config 其中 qw含義見下表所示 perl 的內建特殊變數 還有很多的,例如常用的還有 ar ar inc env 等等,有很多,不可能一一枚舉了,這裡給出乙個比較有 總結性的列表,是...