Not sure if this repeats what's already been said, but in case this helps:
UPDATE: Except I didn't do the cartesian product... but anyways...
use strict;
use warnings;
use Data::Dumper;
my $AoH_show_characters = [];
my $HoA_show_characters = {
flintstones => [ "fred", "barney" ],
jetsons => [ "george", "jane"],
};
foreach my $show (keys %$HoA_show_characters) {
foreach my $character ( @{ $HoA_show_characters->{$show} } ) {
push @$AoH_show_characters, ( { $show => $character } );
}
}
print Dumper($AoH_show_characters);