use strict; use warnings; use Data::Rmap qw(:all); my @AoH = ( {'name' => 'Barney', 'age' => '34'}, {'name' => 'Fred', 'age' => '36'}, {'name' => { first => 'John', last => 'Doe' }, age => '40' } ); rmap_hash { print join "\n" => keys %$_; print "\n"; } @AoH;