note
pg
<p>Or you can make it more generic with recursive code:</p>
<code>
use Data::Dumper;
use strict;
use warnings;
my $arr1 = ['A', 'B', 'C'];
my $arr2 = ['foo', 'bar', 'qux'];
my $arr3 = [1, 2, 3];
my $arr4 = ['apple', 'banana', 'pear'];
print Dumper(mix($arr1, $arr2, $arr3, $arr4));
sub mix {
if (@_ > 2) {
return mix($_[0], mix(@_[1..$#_]));
} else {
my @a = map {[$_[0]->[$_], (ref($_[1]->[0]) eq 'ARRAY') ? @{$_[1]->[$_]} : $_[1]->[$_]]} (0 .. @{$_[0]} - 1);
return \@a;
}
} </code>
<p>Which prints:</p>
<code>
$VAR1 = [
[
'A',
'foo',
1,
'apple'
],
[
'B',
'bar',
2,
'banana'
],
[
'C',
'qux',
3,
'pear'
]
];
</code>
511572
511572