在我的代码中,我创建了一个hash
,然后将其传递给一个函数。
my %profile_hash = ();
getProfileInfo(\%profile_hash, $profile_path);
在函数中,我执行以下操作:
sub getProfileInfo{
my %profile_hash = shift;
my $profile_path = shift;
foreach my $key (keys (%profile_hash)){
print $key;
}
}
我发现当我打印密钥时,我得到:HASH(0x1b64448)
有人能告诉我为什么会发生这种情况吗?如果我在将keys
传递给函数之前打印它,它会像预期的那样为空。
1条答案
按热度按时间a6b3iqyw1#
你需要在你的sub中使用一个标量来获取传递的hash ref,然后在你的循环中删除它:
通过参考