perl – 如何将元素推入一个作为哈希值的数组引用?

%data = (
    'digits' => [1,2,3],'letters' => ['a','b','c']
);

如何将’4’推入$data {‘digits’}?

我是Perl的新手.那些$,@,%符号对我来说看起来很奇怪我来自PHP背景.

解决方法

push @{ $data{'digits'} },4;

$data {‘digits’}返回数组引用.将@ {}放在“取消引用”上.以同样的方式,%{}将取消引用哈希引用,${}将引用一个标量引用.

如果您需要将某些内容放入散列引用,即

$hashref = { "foo" => "bar" }

您可以使用:

${ $hashref }{ "foo2" } = "bar2"

或箭头符号:

$hashref->{"foo2"} = "bar2"

以某种方式,将引用视为与变量名称相同的参考:

push @{ $arrayref   },4
push @{ "arrayname" },4
push    @arrayname,4

其实这就是“软参考”.如果你没有打开所有的严格性,你可以从字面上看:

# perl -de 0
  DB<1> @a=(1,3)
  DB<2> $name="a"
  DB<3> push @{$name},4
  DB<4> p @a
1234

相关文章

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