http://www.perlmonks.org?node_id=504165

neversaint has asked for the wisdom of the Perl Monks concerning the following question:

Dear Masters,
Is there a quick way to transform a HoA into AoH like this, from:
my $HoA = { flintstones => [ "fred", "barney" ], jetsons => [ "george", "jane"], };
Into:
# Desired result: my $AoH = [ { flinstones => "fred", jetsons => "george" }, { flinstones => "fred", jetsons => "jane" }, { flinstones => "barney", jetsons => "george" }, { flinstones => "barney", jetsons => "jane" }, ];
The size of the hash and array in HoA input maybe varying.

Update: Correction made on the correct data structure of the desired results, thanks to pg comments.

Update 2: The actual HoA in my production code looks like this:
my $HoA = { '1,2,flintstones' => [ "fred-1 foo-2", "barney-1 bar-2" ], '2,3,jetsons' => [ "george-1 foo-2", "jane-1 bar-2"], };
Update 3:Additional examples:
With array of only one element
my $HoA3 = { 'flintstones' => [ "fred" ], 'jetsons' => [ "george"], }; my $ans3= [ { 'flintstones' => 'fred', 'jetsons' => 'george' } ];
With array of differing size:
my $HoA4 = { 'flintstones' => [ "fred" ], 'jetsons' => [ "george","jane"], }; my $ans4 = [ { 'flintstones' => 'fred', 'jetsons' => 'george' }, { 'flintstones' => 'fred', 'jetsons' => 'jane' } ];


---
neversaint and everlastingly indebted.......