my $string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; my ($random) = $string =~ m/(??{'.'x rand length $string })(.)/s; print $random, "\n"; #### my $string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; my( $random ) = $string =~ m/^(??{ '.' x rand length $_ })(.)/s; print "$random\n"; #### my $string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; my ($random) = $string =~ m/^ (??{'.{' . int(rand length $_) . '}' }) (.) /sx; print "$random\n";