MicroMason is an impressive piece of work. It provides Mason-like syntax but in a lighter and faster package. The performance is excellent as seen in Sam Graham's Perl Template Roundup. If you dig Mason syntax but need only the templating engine (and not the heavy-weight application framework provided by Mason) then MicroMason is the module for you.

I really, really wanted to like this module. The documentation is great, the interface is bliss, the Mason syntax is cool, and having multiple syntaxes is excellent.

Unfortunately, my experience was so painful that I gave up after a day of using it. Maybe it would have been different if I had come to it with a blank slate, but that is not my situation: I am currently getting increasingly fed up with Template Toolkitâ€™s crippled mini language (a rant for another day), so I was looking for a different system that would let me use Perl in my templates.

I have a batch of templates that need to be ported â€“ but that has proven absolutely impossible. The error reporting is so indescribably abysmal that the excercise turned out worse than pulling teeth. Some errors segfaulted perl! I have no idea what the precise problem was, I gave up much before I could triangulate its exact location in the template. And triangulate I had to: simple template syntax errors result in nothing but an error on the line in your own code which invokes the compiled template; grave errors produce an enigmatic error from deep in the bowels of the module. If youâ€™re lucky, thereâ€™s a dump of generated, hard to read Perl code from which you can try to decipher the problem. If youâ€™re particularly unlucky, you get a segfault.

Now, Iâ€™m possibly an outlier. Itâ€™s quite conceivable that these problems are far less of an issue when youâ€™re starting from scratch with an empty file, instead of trying to port an existing template from one syntax to another by applying incremental search-and-replace patches and then running the result to see what breaks. But this experience still makes me wary for maintenance programmers who come in months after the fact to tweak a template.