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; }