%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
問題の原因は何ですか?