这是一个简单的问题,但它让我难倒,谷歌只是让我误入歧途.我想要做的就是打印出哈希的名称.例如:
&my_sub(\%hash_named_bill);
&my_sub(\%hash_named_frank);
sub my_sub{
my $passed_in_hash = shift;
# do great stuff with the hash here
print "You just did great stuff with: ". (insert hash name here);
}
Run Code Online (Sandbox Code Playgroud)
我不知道的部分是如何在括号中插入东西(插入...).对于嵌套哈希,您只需使用"keys"标记来获取哈希名称(如果您想将其称为哈希名称).我无法弄清楚如何获得整个哈希名称,看起来它真的只是另一个关键.
正如@hackattack在评论中所说,你的问题的技术答案可以在Perl中获取变量名称为字符串的答案中找到
但是,你应该考虑你是否做得对吗?
如果你以某种方式需要知道哈希的名称,那么如果你将那些多个哈希值存储到名称为键的哈希哈希值中,你很可能会更好地解决这个问题(你应该熟悉它,因为你提到了处理你的问题).