in reply to Substitute _last_ occurence in string?

s/(two )(?!.*two )//
Probably valid only perl 5.6.0 +. Update: Above works only if two is followed by a space. It fails if:
$string = "one two three two four two";
The following works. Also, the parentheses around the first two are unnecessary.
$string =~ s/two\s*(?!.*two)//