we didn't see any need to look at any modules, because what we needed was so simple that we built it ourselves with practically zero effort.
That's what everyone says. The advantage with using a standard module is portability. HTML::Template syntax is supported in Perl, Java, Python, PHP, Lisp, C++ and Ruby.
I guess we never looked at inter-language portability of function calls; we just treated this as a Perl function. When we shifted to Java, we just used a Perl utils class under Java, and wrote a Template class in Java using the Perl regex features.
For a group working across many languages, I can see that this similarity of syntax will be a blessing.
The syntax is extremely easy, while also being powerful. Once you start using mod_perl, you'll notice huge improvements in performance with HTML::Template's caching.
The trivial module we developed has so small an API (I think there's just a "load-template" and a "patch-template") that we didn't think we needed any further ease in the syntax. And the cacheing is totally a cool feature. We added cacheing too, in our code, when we did mod_perl and also when we did Java. That bit is also very simple to add, and didn't need any API change.
Shuvam