%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