建立引用
建立規則1:在陣列或者雜湊前加反斜槓
$aref = \@array; # $aref now holds a reference to @array
$href = \%hash; # $href now holds a reference to %hash
當引用被儲存在變數裡,就可以如普通變數般使用。
建立規則2: [items]建立乙個新的匿名陣列,且返回乙個指向陣列的引用。建立乙個新的匿名雜湊,且返回乙個指向雜湊的引用。
$aref = [ 1, "foo", undef, 13 ];
# $aref now holds a reference to an array
$href = ;
# $href now holds a reference to a hash
規則1,規則2的比較:
# this:
$aref = [ 1, 2, 3 ];
# does the same as this:
@array = (1, 2, 3);
$aref = \@array;
使用引用
使用規則 1
使用引用的時候,你可以將變數放到大括號裡,來代替陣列. eg:@ instead of @array
@a @ an array
reverse @a reverse @ reverse the array
$a[3] $[3] an element of the array
$a[3] = 17; $[3] = 17 assigning an element
%h % a hash
keys %h keys % get the keys from the hash
$h $ an element of the hash
$h = 17 $ = 17 assigning an element
使用規則 2
規則1的寫法比較難於閱讀,所以,們可以用簡寫的形式,來方便的閱讀引用。
$[3] $aref->[3]
$ $href->
以上兩種寫法表達的是相同的內容
箭頭規則
@a = ( [1, 2, 3],
[4, 5, 6],
[7, 8, 9]
);$a[1] 包含乙個匿名陣列,列表為(4,5,6),它同時也是乙個引用,使用規則2,我們可以這樣寫:$a[1]->[2] 值為6 ;類似的,$a[1]->[2]的值為2,這樣,看起來像是乙個二維陣列。 使用箭頭規則,還可以寫的更加簡單:
instead of $a[1]->[2], we can write $a[1][2]
instead of $a[0]->[1] = 23, we can write $a[0][1] = 23 這樣,看起來就像是真正的二維資料了。
原文出處:
perl陣列硬引用 perl中的引用
為什麼使用引用?在perl4中,hash表中的value欄位只能是scalar,而不能是list,這對於有些情況是很不方便的,比如有下面的資料 chicago,usa frankfurt,germany berlin,germany washington,usa helsinki,finland n...
perl學習筆記 解引用小結
目前正在自學perl,看到關於dereference的一些寫法 array1 qw a b c array2 qw d e f array array ref array 假如要訪問array1中的第2個元素,可以有如下幾種寫法 array 0 1 寫法一 0 1 寫法二 array ref 0 1...
Perl 引用(即指標) 學習筆記
前言 perl引用就是指標,可以指向變數 陣列 雜湊表 也叫關聯陣列 甚至子程式。pascal或c程式設計師應該對引用 即指標 的概念很熟悉,引用就是某值的位址,對其的使用則取決於程式設計師和語言的規定。在perl中,可以把引用稱為指標,二者是通用的,無差別的。引用在建立複雜資料方面十分有用。下面的...