use Data::Dumper; use List::MoreUtils qw(pairwise); my @array1 = qw( a b c d e f ); my @array2 = qw( 1 2 3 4 5 6 ); my @matrix = pairwise { [$a, $b] } @array1, @array2; print Dumper(\@matrix), "\n";