俗稱perl的老地方,當你的程式中未告知使用哪個引數或者變數時,perl就會自動使用$_中的值,比如
for(1..10
)
這裡print沒有指定引數,所以它就會使用$_,那$_裡面是什麼呢?每次迴圈$_的值都會變化,所以$_實際上就是1 .. 10這10個值,所以上面的**列印的結果就是12345678910
當且僅當某個函式呼叫失敗時才會設定該變數,所以經常這樣使用這個變數
openfile,"
"or
die$
!;
這是perl中的行分隔符,預設是換行符,可以改變這個變數以便一次讀入整個檔案,如下
subtest
正規表示式匹配變數,代表匹配位置之前的內容
正規表示式匹配變數,代表匹配的內容
正規表示式匹配變數,代表匹配位置之後的內容
來看乙個例子,解析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 資料輸入.如果沒有...