# build hash while() { ... $hshFoo{$key1}{$key2} = $strFileName; ... # key1 is a number # key2 is a sequential number } #### foreach $key (keys %hshFoo) { print " $key => $hshFoo{$key}\n"; } #### foreach $key2 (keys $hshFoo{$key}) { ... } Type of arg 1 to keys must be hash (not hash element) at foo.pl line 341, near "}) " BEGIN not safe after errors--compilation aborted at foo.pl line 431.