Perl中的特殊符號

2021-09-06 04:13:04 字數 1203 閱讀 1863

俗稱perl的老地方,當你的程式中未告知使用哪個引數或者變數時,perl就會自動使用$_中的值,比如

for(1

..10

)

這裡print沒有指定引數,所以它就會使用$_,那$_裡面是什麼呢?每次迴圈$_的值都會變化,所以$_實際上就是1 .. 10這10個值,所以上面的**列印的結果就是12345678910

當且僅當某個函式呼叫失敗時才會設定該變數,所以經常這樣使用這個變數

open

file,"

"or

die$

!;

這是perl中的行分隔符,預設是換行符,可以改變這個變數以便一次讀入整個檔案,如下

sub

test

正規表示式匹配變數,代表匹配位置之前的內容

正規表示式匹配變數,代表匹配的內容

正規表示式匹配變數,代表匹配位置之後的內容

來看乙個例子,解析xml檔案,有如下xml檔案,我想獲得code節點的值

<?

xml version='1.0' encoding='utf-8'

?>

<

code

>

200code

>

用下面的perl**來解析

my

$str="

200";if

($str=~/

(?<=<

code

>)(\

d+)(?=<\/

code

>)/

)

執行結果是

string before matched:

matched string: 200

string after matched:

其中$`對應,$&對應200,$'對應

控制對當前選擇的輸出檔案控制代碼的緩衝,例子待新增。

傳給子程式的引數列表,通常乙個子程式是這樣獲得傳給它的引數的。

sub add

如果子程式只有乙個引數,也可以用shift來獲取,此時,shift相當於shift @_

sub square

==

perl中特殊符號

陣列 x x名字前面是美元符號 後面是花括號 則其為 hash 元素 要引用整個 hash,使用百分號 作為字首。前面幾頁中使用的 hash 的名字為 family name。系統產生的一些可讀的資訊,也可能是出錯的資訊 子函式引數變數自己本身 子程式的私有變數 x 呼叫子函式x 資料輸入.如果沒有...

perl特殊符號

perl的特殊符號 陣列 x x名字前面是美元符號 後面是花括號 則其為 hash 元素 要引用整個 hash,使用百分號 作為字首。前面幾頁中使用的 hash 的名字為 family name。系統產生的一些可讀的資訊,也可能是出錯的資訊 子函式引數變數自己本身 子程式的私有變數 x 呼叫子函式x...

Perl的特殊符號

陣列 x x名字前面是美元符號 後面是花括號 則其為 hash 元素 要引用整個 hash,使用百分號 作為字首。前面幾頁中使用的 hash 的名字為 family name。系統產生的一些可讀的資訊,也可能是出錯的資訊 子函式引數變數自己本身 子程式的私有變數 x 呼叫子函式x 資料輸入.如果沒有...