Perl 中的解引用


Perl 中的解引用返回引用點到位置的值。要解引用引用,只需使用 $、@ 或 % 作為引用變數的字首,具體取決於引用指向的是標量、陣列還是雜湊。以下示例說明了該概念 -

示例

 線上演示

#!/usr/bin/perl
$var = 10;

# Now $r has reference to $var scalar.
$r = \$var;

# Print value available at the location stored in $r.
print "Value of $var is : ", $$r, "\n";
@var = (1, 2, 3);

# Now $r has reference to @var array.
$r = \@var;

# Print values available at the location stored in $r.
print "Value of @var is : ", @$r, "\n";
%var = ('key1' => 10, 'key2' => 20);

# Now $r has reference to %var hash.
$r = \%var;

# Print values available at the location stored in $r.
print "Value of %var is : ", %$r, "\n";

輸出

當執行以上程式時,它產生以下結果 -

Value of 10 is : 10
Value of 1 2 3 is : 123
Value of %var is : key220key110

如果你不確定變數型別,那麼很容易使用 ref 來了解其型別,如果其引數是引用,它將返回以下字串之一。否則,它返回 false -

SCALAR
ARRAY
HASH
CODE
GLOB
REF

示例

讓我們嘗試以下示例 -

 線上演示

#!/usr/bin/perl
$var = 10;
$r = \$var;
print "Reference type in r : ", ref($r), "\n";
@var = (1, 2, 3);
$r = \@var;
print "Reference type in r : ", ref($r), "\n";
%var = ('key1' => 10, 'key2' => 20);
$r = \%var;
print "Reference type in r : ", ref($r), "\n";

輸出

當執行以上程式時,它產生以下結果 -

Reference type in r : SCALAR
Reference type in r : ARRAY
Reference type in r : HASH

更新於:29-11-2019

1K+ 檢視

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.