tye's regex solution works well, but you may want to modify it to:
$sentence =~ s/\b\Q$word\E\b\s+(?!.*\b\Q$word\E\b)//s;
to elimitate the extra space that's left when the word is removed. This leaves us with:
String: the quick brown dog jumped the doggy style dog killing doggie
+eater.
Result: the quick brown dog jumped the doggy style killing doggie eate
+r.
where the $word = "dog".
(Added by tye)
Note that if the last occurance of that word is also the
last word of a sentence, it will have whitespace in front
of it and not behind it and this regex will fail. If the
last occurance of the word is unlikely to be the first
word in the string, then
$sentence =~ s/\s*\b\Q$word\E\b(?!.*\b\Q$word\E\b)//s;
would be a better choice.
|