我可以使用标量变量为其名称访问Perl哈希吗?

时间:2014-10-31 20:41:08

标签: perl variables hash

我想知道我是否可以使用变量来访问哈希。

例如:

my $var = "nameOfHash";
my $nameOfHash{'foo'} = "bar";

print $var{'foo'};

在上面的示例中,我想要的行为是返回字符串“bar”,但显然我的代码不太正确。

1 个答案:

答案 0 :(得分:5)

你为什么需要它?您可以使用散列哈希值(HoH)代替:

my %hoh;
$hoh{nameOfHash}{foo} = 'bar';
print $hoh{nameOfHash}{foo};

请参阅Why it's stupid to `use a variable as a variable name',了解原始想法的错误。