use Math::Combinatorics; my @n = (a..z,A..Z); my $combinat = Math::Combinatorics->new(count => 4, data => [@n], ); while(my @combo = $combinat->next_combination){ print join(' ', @combo)."\n"; }