my @chars = (A..F); my @strings; while ($#strings < 5) { my $random = join('',map { $chars[int(rand(scalar(@chars)))]; } (1..12)); $random =~ /(.)\1{2}/ and next; push @strings, $random; }