my @aoh; foreach $file (@files) { next if $file=~/^\./; print "creating hash for $file....\n"; my %filehash = filetohash($file); push @aoh,\%filehash; $x++; } #### sub filetohash { ... return \%filehash; } ... push @aoh,filetohash($file); ...