in reply to Array of hashes

It seems reasonable to conclude from the question that you are satisfied with an arbitrary ordering of the hash keys for a particular hash, so in that case:
my @array; for my $href( \%hash1, \%hash2 ){ while( my ($k, $v) = each %{$href} ) { push @array, { $k => $v }; } }

One world, one people