my @array; my %hash; &callaFunction(); &callaFunction(); &callaFunction(); foreach my $element ( @array ) { my %localHash = %{$element}; # print %localHash's contents } sub callaFunction { # fill %hash with random info push ( @array, {%hash} ); } #### push ( @globalArray, {%globalHash} );