我有一组预定义的散列表,我想使用变量名称引用其中一个散列并访问键值。即使散列填充,下面的代码也会返回null。我在这里做错了什么,还是有更好的方法来实现这一目标?如何使用变量名称引用散列?
my %TEXT1 = (1 => 'Hello World',);
my %TEXT2 = (1 => 'Hello Mars',);
my %TEXT3 = (1 => 'Hello Venus',);
my $hash_name = 'TEXT1';
my $hash_ref = \%$hash_name;
print ${$hash_ref}{1}; #prints nothing
如果你解释了你希望'my $ hash_ref = \%$ hash_name'做什么,这将有很大的帮助。 – Borodin
我希望hash_ref引用由变量名定义的哈希。编辑问题澄清。 – freeworlder
另请参见[每当您发现自己使用整数索引来后缀变量名称时,请认识到应该使用数组](https://stackoverflow.com/questions/1549685/how-can-i-use-a-variable -as-A-变量名 - 在-perl的)。 –