my $HoA = { flintstones => [ "fred", "barney" ], jetsons => [ "george", "jane"], }; #### # Desired result: my $AoH = [ { flinstones => "fred", jetsons => "george" }, { flinstones => "fred", jetsons => "jane" }, { flinstones => "barney", jetsons => "george" }, { flinstones => "barney", jetsons => "jane" }, ]; #### my $HoA = { '1,2,flintstones' => [ "fred-1 foo-2", "barney-1 bar-2" ], '2,3,jetsons' => [ "george-1 foo-2", "jane-1 bar-2"], }; #### my $HoA3 = { 'flintstones' => [ "fred" ], 'jetsons' => [ "george"], }; my $ans3= [ { 'flintstones' => 'fred', 'jetsons' => 'george' } ]; #### my $HoA4 = { 'flintstones' => [ "fred" ], 'jetsons' => [ "george","jane"], }; my $ans4 = [ { 'flintstones' => 'fred', 'jetsons' => 'george' }, { 'flintstones' => 'fred', 'jetsons' => 'jane' } ];