語法
創建'引用'僅有兩種方法,使用它也是兩種。
創建引用
創建規則 1
如果你在一個變量前加一個'/'號,你就得到了這個變量的'引用'。
$aref = /@array; # $aref 保存著指向@array的'引用'
$href = /%hash; # $href 保存著指向%hash的'引用'
當你把'引用'保存在類似 $aref 或 $href的變量中,你就可以象操作其他標量一樣copy或保存它。
$xy = $aref; # $xy 現在保存了指向 @array 的'引用'
$p[3] = $href; # $p[3] 現在保存了指向 %hash 的'引用'
$z = $p[3]; # $z 現在保存了指向 %hash 的'引用'
這些例子展示了如何創建命名變量的'引用',但是有時候,我們創建的數組或哈希沒有名字。這個和你使用沒有放到變量中去的字符串'/n'或數字'80'類似。
創建規則 2
[ ITEMS ] 創建了一個新的、匿名的數組,并返回一個指向這個數組的'引用'。 { ITEMS } 創建了一個新的、匿名的哈希,并返回那個哈希的一個'引用'。
$aref = [ 1, "foo", undef, 13 ];
# $aref 保存了這個數組的'引用'
$href = { APR =>; 4, AUG =>; 8 };
# $href 保存了這個哈希的'引用'
從規則 2 中得到的'引用'和從規則 1 中得到的'引用'是同一種類型的:
# 這里:
$aref = [ 1, 2, 3 ];
# 和上面一樣:
@array = (1, 2, 3);
$aref = /@array;
前面一種方法是后面兩行的縮寫,除了第一種方法沒有創建一個多余的數組變量@array。
如果你只是編寫符號 [], 你將得到一個新的、空匿名數組。如果你使用符號 {},就能得到一個新的、空匿名哈希。
使用引用
當你創建了一個'引用'后,你可以對它做什么操作呢?它是標量,你可以象處理任何標量一樣保存和取回它。除此之外,還有兩種使用方法:
使用規則 1
你可以始終用一個帶有大括號的數組'引用',來替換一個數組的名字。例如,用 @{$aref} 代替 @array。
下面是一個用法的一些例子:
數組:
@a @{$aref} 一個數組
新聞熱點
疑難解答