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 @   WellMandala  阅读(269)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示