微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/Perl/171466.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐