You haven't specified all of the requirements for your regex to match, but this one-liner will work:
On *nix: perl -pi -e 's{\b((?:[a-zA-Z0-9]+_)+[a-zA-Z0-9])+\(\)\b}{<a href=" +$1.html">$1()</a>}g' * On Windows (I think): perl -pi -e "s{\b((?:[a-zA-Z0-9]+_)+[a-zA-Z0-9]+\(\)\b}{<a href=\" +$1.html\">$1()</a>}g" *
It will match any word (containing letters or numbers) with at least one underscore, and replace it with your link

Explanation