【发布时间】:2010-08-26 05:35:09
【问题描述】:
假设我有一个复杂的哈希引用 $hash_ref,我想通过执行以下操作来访问其中的数据:
my $string1 = "{books}";
my $string2 = "{31335}->{book_name}";
print Dumper($hash_ref->$string1->$string2);
当然,这不起作用,但我希望它能解释我想做的事情。
显然,我可以通过多种方式完成这项工作,但我(出于好奇)真的很想知道是否有一些 Perl 魔法可以在不拆分字符串等情况下完成这项工作。
我知道我可以创建 3 个字符串 ("books", "31335", "book_name") 并在一秒钟内完成,当然还有其他方法,但我不明白是否可以通过使用表示哈希结构的字符串来访问哈希数据,例如上面的例子。
谢谢:)
【问题讨论】:
-
如果你尝试一下会发生什么?理论上,哈希键可以是任何字符串 ....
-
得到一个错误:不能在 unblessed 参考上调用方法“{books}”