【发布时间】:2012-03-13 02:30:45
【问题描述】:
尝试遍历哈希数组并收到我不理解的错误消息。
下面是创建哈希数组的代码,使用 Dumper 它似乎包含了所有东西。像这样它运行良好。
while ($getAdUserInfo->fetch()){
$name = $name || '';
$isactive = $isactive || '';
$loginid = $loginid || '';
$account_status = $account_status || '';
$password = $password || '';
#print "$name, $isactive, $loginid, $account_status, $password\n";
my %row = (
name => $name,
isactive => $isactive,
loginid => $loginid,
account_status => $account_status,
password => $password,
);
push(@adUserInfo, %row);
}
但是如果我添加这段代码来循环它
for my $rowRef (@adUserInfo) {
print $rowRef->{password};
}
我收到此错误 Can't use string ("password") as a HASH ref while "strict refs" in use at adempiereToExo.pl line 64
现在我已经对该错误进行了一些阅读,并且大多数情况下看起来它发生在有人在数组中有不是哈希引用的东西时。但我认为情况并非如此。我对 Perl 非常陌生,所以我可能是错的。此外,它总是抱怨哈希中的最后一个元素?
我知道有很多人问这个错误,但是我已经阅读了很多答案,仍然无法弄清楚。
【问题讨论】:
标签: perl