while (my $line = ) { my @words; while ($line =~ /\S+/g) { push @words, lc $1; } for my $word (@words) { if (exists $dict{$word}) { $line =~ s/$word/$dict{$word}/gi } } print $line; } #### my ( $key, $val ) = /^(\d+)\s+([\w-]+)/; ... my $pattern = quotemeta "\b([$cc]{$min,$max})\b/";