perl – 这是数组,哈希还是标量?

我是Perl的新手.我知道$是标量,@数组和%哈希.
我见过类似的代码(我用内存写的):
$var = {
           key =>值,
           anotherkey => anothervalue
}

这是什么?

解决方法

这声明了一个标量变量$var,其中包含对匿名哈希的引用.

引用(有点像指针)总是标量,无论它们引用什么.

你也可以这样做:

%hash = ( key => value,anotherkey => anothervalue ); #parentheses,not curlies!
 $var = \%hash;

在这种情况下,$var引用的哈希不再是匿名的,但结果是相同的.

您可以通过使用 – >取消引用$var来提取引用哈希的各个元素.在应用哈希下标{…}语法之前:

$var->{key} # == value,same as $hash{key} in second case

或者你可以通过%{$var}检索整个事情(并恢复%哈希).

查看更多详情here.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...