A few comments:
- HTML::Template is another language - exactly the same "issue" as you have with XSLT. The only difference is that XSLT is more powerful, and perhaps more cleanly designed, having learned from 20 years of development of DSSSL, which XSLT is based on.
- There are some pretty good perl modules for doing XSLT. Notably XML::Sablotron, XML::LibXSLT and XML::Xalan.
- Basic XSLT is incredibly simple. To style a particular tag (say <foo>) as bold, you just use:
Yes, this is slightly verbose, but saving on typing isn't everything. And that's 90% of what you need to achieve in XSLT.
I hope this helps in your decision process.