Perl預設變數

2021-05-21 11:51:52 字數 3272 閱讀 3620

1. $_

$arg,常常是乙個預設變數

2. @_

@arg,子例程參數列

3.

$program_name,本程式的名字

4. @argv

本程式的命令列參數列

5. $"

$list_separator,陣列內插到雙引號字串中時所用的分隔符,

預設為空格

6. $,

$ofs,或$output_field_separator,用於print的輸出字段分隔符,

即乙個print語句中用逗號分隔的部分之間用什麼分隔,預設為無

7. $

$ors,或$output_record_separator,用於print的輸出記錄分隔符,

即乙個print語句結束時末尾新增什麼,預設為無

8. $/

$rs,或$input_record_separator,輸入記錄分隔符,改變了readline,

和chomp對於「行」的看法,預設為換行符

9. $.

$nr,或$input_line_number,最後讀取的「行」號(注意行的概念可能

被8所改變)

10. $|

$autoflush,或$output_autoflush,輸出緩衝區開關,預設為0,即關

11. $$

$pid,或$process_id,本指令碼的程序號(pid)

12. $!

$errno,或$os_error,上一次系統呼叫錯誤值

13. $@

$eval_error,上一次eval操作錯誤值

14. $^i

$inplace_edit,現場編輯的備份副檔名

15. %env

當前環境變數

16. 與正規表示式相關的幾個量

|<-($`)->|<-($&)->|<-($')->|

/ ------- mmmmmmmm ++++++++/ => 正規表示式(注意:空格不代表實際空格)

| |匹配部分|

0 ($-[0]) ($+[0])

17. $^o

作業系統名稱。

或者 use english;

print $osname;

或者 use config;

print $config;

符號                說明

$_                    perl 最常用的預設變數:$_

@_                    在perl 中,會自動將此引數列表(此引數列表的另乙個名字)自動存放在乙個叫做@_的陣列中。$_[0],$_[1](和$_無關)

全域性的 @_ 和 子程式私有的 @_ 應注意區別

*, +, ?            數量詞

{}                    一般的數量詞

/g                    進行全域性替換

/i                    不區分大小寫

/s                    匹配任何字元 它將模式中點(.)◆的行為變成同字元類["d"d]的行為類似:可以匹配任何字元,包括換行符。

/x                    允許你在模式中加入任何數量的空白,以方便閱讀;允許模式中使用空白,那麼模式中的空格,製表符將被忽略。

^$                    錨定 符號^(脫字字元◆)表示在字串的開頭進行匹配,而符號$則表示在結尾◆

"b                    詞界錨定 "b 非詞錨定

"w                    詞是字母,數字,下劃線組成的序列。這種意義下的詞可由/"w+/匹配上,w不能匹配單詞,

而只能匹配單個字元。為了匹配整個單詞,需要後接加號。

=~                    繫結操作符

()                    記憶體值的儲存

$1,$2,……        匹配變數

$&, $`, $'    自動匹配變數

"s                     對於匹配空白(whitespace)將非常方便。它等價於[" f"t"n"r ],其含 5 個空白字元:格式符(form-feed) ;

製表符(tab),換行符,回車,以及空格符。同其它簡寫符號一樣,

"s 匹配此類中的單個字元,如果使用"s*將匹配任何個數的空白(包括沒有) ,或者"s+匹配乙個以上的空白

(事實上,很少見到單獨使用"s,而不使用任何的數量詞(*, +)) 。由於這些空白符看起來類似,因此可以使用

這種簡寫形式,將它們統一處理。

簡寫                簡寫形式的補集                        [^"d]    等價    "d ;[^"w]    等價    "w;[^"s]    等價    "s      ^和錨定中的^ 無關

檢測選項 含義

-r 檔案或目錄對此(有效的)使用者(effective user)或組是可讀的

-w 檔案或目錄對此(有效的)使用者或組是可寫的

-x 檔案或目錄對此(有效的)使用者或組是可執行的

-o 檔案或目錄由本(有效的)使用者所有

-r 檔案或目錄對此使用者(real user)或組是可讀的

-w 檔案或目錄對此使用者或組是可寫的

-x 檔案或目錄對此使用者或組是可執行的

-o 檔案或目錄由本使用者所有

-e 檔案或目錄名存在

-z 檔案存在,大小為 0(目錄恒為 false)

-s 檔案或目錄存在,大小大於 0(值為檔案的大小,單位:位元組)

-f 為普通文字

-d 為目錄

-l 為符號鏈結

-s 為socket

-p 為管道(entry is a named pipe(a?fifo?))

-b 為block-special 檔案(如掛載磁碟)

-c 為character-special 檔案(如i/o 裝置)

-u setuid 的檔案或目錄

-g setgid 的檔案或目錄

-k file or directory has the sticky bit set

-t 檔案控制代碼為tty(系統函式 isatty()的返回結果;不能對檔名使用這個測試)

-t 檔案有些像「文字」檔案

-b 檔案有些像「二進位制」檔案

-m 修改的時間(單位:天)

-a 訪問的時間(單位:天)

-c 索引節點修改時間(單位:天)

Perl預設的內部變數

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

Perl預設的內部變數

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

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

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