当前位置:  开发笔记 > 编程语言 > 正文

如何在Perl中引用哈希引用中的标量?

如何解决《如何在Perl中引用哈希引用中的标量?》经验,为你挑选了1个好方法。

简单的问题:

我如何在一行上执行此操作:

my $foo = $bar->{baz};
fizz(\$foo);

我试过了\ $ bar - > {baz},\ $ {$ bar - > {baz}}等等.这甚至可能吗?

-fREW

更新:好的,hashref来自DBI,我将标量引用传递给模板工具包.我想现在我更仔细地看待这个问题与TT如何做到这一点有关.实际上,我想说:

$template->process(\$row->{body}, $data);

但TT没有那样工作,TT采用标量参考并将数据放在那里,所以我必须这样做:

$template->process(\$row->{body}, $shopdata, \$row->{data});

无论如何,谢谢你的帮助.我至少只有一个参考而不是两个.



1> runrig..:
\$bar->{baz}

应该管用.

例如:

my $foo;
$foo->{bar} = 123;

my $bar = \$foo->{bar};

$$bar = 456;

print "$foo->{bar}\n";   # prints "456"

在回答OP中的更新时,您可以:

\@$row{qw(body data)};

这与\ @array不同,它会创建一个对数组的引用.以上将分发引用并列出两个引用.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有