perl引用

perl中引用的概念:一组数据实际上是另一组数据的引用。这些引用称为指针,第一组数据中存放的是第二组数据的头地址。可以把引用理解为指针。

perl---(数组和哈希)引用

创建引用

定义变量的时候,在变量名前面加个\,就得到了这个变量的一个引用,如果要打印引用指向的变量值:

引用类型+$+引用变量

例如:

@$r  数组的值

$$r   标量的值

%$r  哈希值

ref 函数

简单来说,就是如果一个变量是个引用,那ref就可以返回一个表示其实际引用对象的描述性字符串,否则就会返回空值。如果没有指定ref函数的参数,默认对$_变量操作。如果被引用的对象已经被打包,则会返回该包的名称,类似typeof操作符。
代码:

my  $var1 = 10;
# $r 引用 $var 标量
my $r1 = \$var1;
# 输出本地存储的 $r 的变量值
print "\$var1 为 : ", $$r1, "\n";  #输出10
 
my @var2 = (1, 2, 3);
# $r 引用  @var 数组
my $r2 = \@var2;
# 输出本地存储的 $r 的变量值
print "\@var2 为: ",  @$r2, "\n";  #输出123
 
my %var3 = ('key1' => 10, 'key2' => 20);
# $r 引用  %var 数组
my $r3 = \%var3;
# 输出本地存储的 $r 的变量值
print "\%var3 为 : ", %$r3, "\n";   #输出 key220key110
if(ref($r1) eq "SCALAR")
{
  print "标量引用\n";
}
if(ref($r2) eq "ARRAY")
{
  print "数组引用\n";
}
if(ref($r3) eq "HASH")
{
  print "哈希引用\n";
}

 

posted @ 2021-02-03 13:05  WellMandala  阅读(266)  评论(0编辑  收藏  举报