use warnings; use strict; my %words = map {$_ => 1} split ' ', "This will search for words with doubled letters at positions"; print "$_\n" for grep {!/(\w)\1/ && /(\w).+\1/} sort keys %words; #### doubled positions