in reply to removing words

As a guess, is the word "The" at the beginning of a line?

Your pattern only removes words that have a digit or a percent sign on both sides.

You didn't include a sample of your data, but for anything resembling normal English text the "word boundary" would work better:

$title =~ s/\b$_\b//gsi;
If the data really has words separated by digits or percent signs or the beginning/end of a line you might try this:
$title =~ s/(^|[%\d])$_([%\d]|$)/$1$2/gsi;