Просто сгенерируйте строку из массива:
my @array = ( 'a' .. 'e', 1 .. 5 );
my $stringified = join ',', @array;
my @a = glob "{$stringified}" x 2;
say 0+@a; # Prints '100';
say join ', ', @a; # 'aa, ab, ac, ad ... 53, 54, 55'
Можно также использовать модуль CPAN. Как List::Gen
:
use List::Gen 'cartesian';
my @permutations = cartesian { join '', @_ } map [ $_ ], ( 'a'..'e', 1..5 ) ;