perl 語言中的引用共分為兩類:
宣告引用時只需要在物件的前面加上反斜槓
第一列是陣列的引用:
**示例:
my@array = (1, 2, 3
);my
$array_ref = \@array;
第二種是雜湊的引用
**示例:
my%hash = (1, 2, 3, 4
);my
$hash_ref = \@hash;
通過引用去訪問對應的值,通過 -> 操作符
陣列的引用, 通過 [ ] 中括號 加上對應的下標,**示例:
my@array = (1, 2, 3
);my
$array_ref = \@array
$array_ref->[0];
雜湊的引用,通過{} 大括號加上對應的key,**示例:
my%hash = (1, 2, 3, 4
);my
$hash_ref = \@hash
$array_ref->;
當我們想要把引用對應的變數傳遞給另外乙個變數時,就需要解引用,使用 大括號
**示例:
my@array = (1, 2, 3
);my
$array_ref = \@array;my
@array_new = @;
my%hash = (1, 2, 3, 4
);my
$hash_ref = \@hash;my
%hash_new = %;
陣列的引用通過 @ 符號 , 雜湊的引用通過 % 符號;
引用實際上儲存的是所引用物件的位址,舉個例子
perl -e 'my @a = (1, 2, 3, 4);my $b = \@a;print qq;
'array(
0x122bae8
)perl -e '
my %a = (1, 2, 3, 4);my $b = \%a;print qq;
'hash(
0x262dae8)
從上述**的執行結果可以看出,陣列的引用對應的值是 array+ 位址,雜湊的引用是hash+ 位址,這裡的位址是乙個16進製制的值
除了使用 \ 符號, 宣告乙個引用外,還可以宣告乙個匿名引用, 陣列的引用使用 [ ] 操作符, 雜湊的引用使用 操作符;
**示例:
my$array_ref = [1, 2, 3, 4
];my
$hash_ref =
$array_ref->[0
$hash_ref->;
perl陣列硬引用 perl中的引用
為什麼使用引用?在perl4中,hash表中的value欄位只能是scalar,而不能是list,這對於有些情況是很不方便的,比如有下面的資料 chicago,usa frankfurt,germany berlin,germany washington,usa helsinki,finland n...
Perl中的直接引用
perl 中的直接引用 1 一般的標量引用,如 sub add a 1 b 2 add a,b print a,b n 輸出 2,3。說明 取變數的引用可以用 符號。解引用用 符號。2 陣列的引用 陣列的引用和標量的引用一樣,在陣列名前面加 只是在解引用的時候,使用 符號。如 abc 1,2,3 r...
Perl 函式引用
函式的引用 ref func func的定義在其他位置 不要 當 func 時為執行函式,返回值再引用。當 func 時為執行函式,返回值再引用。oracle jhoa 3 cat 3.pl sub generate greeting 引用 rs generate greeting print rs...