我有一个%AllData
使用以下代码从数据库中提取数据的哈希:
while(my $Row = $sth1->fetchrow_hashref())
{
if(defined($Row->{LotID}))
{
$AllData->{$Row->{LotID}}->{$Row->{Name}} = $Row->{Details};
}
}
完成提取数据后,我print Dumper($AllData);
会打印出我的所有数据,这些数据显示如下:
$VAR1 = {
'4197359' => {
'Short Description' => 'Rock Picker',
'Lot Number' => '1065',
'Description' => 'Rock Picker'
},
'4194148' => {
'Short Description' => 'Large work bench w/ drawers',
'Lot Number' => '1041',
'Description' => 'Large work bench w/ drawers'
},
'4200944' => {
'Lot Number' => '1084',
'Description' => 'Horse Trailer'
}
}
但是,当我尝试打印散列的大小或用于foreach
访问散列时,它显示 0 大小并且无法访问散列中的任何元素:
print "Hash Size: ", scalar keys %AllData, "\n";
显示:
Hash Size: 0
我的问题的原因是什么?