我似乎无法打印hashref的值。
我可以这样打印钥匙:
foreach (sort keys %$wss_href) {
print "$_\n";
}我还想为每个键打印值:所以我尝试:
print "$_ => $wss_href{$_}\n";
print "$_ => $%$wss_href{$_}\n";它一直给我一个错误Global symbol "%wss_href" requires explicit package name
如何根据hashref来获取每个键的值?
发布于 2014-04-09 17:26:17
如果是哈希的%NAME,则是哈希引用的%{REF}。
如果是哈希的$NAME{EXPR},则是哈希引用的${REF}{EXPR}。
看到图案了吗?
你要找的是:
for (sort keys %{ $wss_href }) {
print "$_ => ${ $wss_href }{$_}\n";
}如果引用表达式只是一个变量,则可以省略这些曲线。
for (sort keys %$wss_href) {
print "$_ => $$wss_href{$_}\n";
}但是,您也可以使用更干净的语法。
for (sort keys %$wss_href) {
print "$_ => $wss_href->{$_}\n";
}发布于 2014-04-09 17:25:29
您需要箭头语法:$wss_href->{$_}。
$x{k}和$x->{k}的差异与x.k和x->k在C.
发布于 2014-04-09 17:26:28
若要在hashref中引用值,请使用$wss_href->{$_};
https://stackoverflow.com/questions/22969655
复制相似问题