Petal is an excellent templating system - it's reasonably fast, mod_perl ready, very MVCable, and well defined.
It's got a few drawbacks, at the interface level, like the inflexibility of objects. It would be nice to be able to represent a template file in an object, a parser in a different one, and then give the file object to the parser, with a shortucts for giving the parser a filename instead. Another issue is the opaqueness of the caching system - having something like callbacks to control it would be nice, and give it more customization.
The issue which bugs me the most, however, is error reporting. I would like to be able to have it set or return an error string, as well as have the option to raise errors, and define level severity. Currently, all errors are either died or warned on, so warnings cannot be collected and displayed to the user without lots of effort.
One thing blocking Petal at the moment, and expect this to change, is it's underlying parsers. The parser libraries on CPAN, that Petal uses, currently make handling entities somewhat of a voodoo. See the known bugs list.
Other than that, Petal serves as an /excellent/ templating system, due to it's clean design, promotion of standards compliance, and overall simplicity.
If you're trying to choose a templating system, you should definately give Petal a try.
I've been using this templating engine since its inception and have been very pleased with both the TAL syntax (which makes my templates more readable) and the features that Jean-Michel has included (template compilation, disk & memory caching, support for including external documents & templates, i18n support, and more).
If you're still looking for the template solution that is best for your environment, I highly recommend giving this option a try.
Petal is a good choice for an (X)HTML templating solution. It's a bit more powerful than HTML::Template and a lot less powerful than the Template Toolkit (which many would argue is a good thing). The key point of difference compared to other solutions is that it's all done with attributes in the tags rather than with special tags. This means that the 'magic' stuff in the template usually survives encounters with Dreamweaver, FrontPage etc and you can edit and preview templates directly in your browser without using Petal or even a web server.
One of the many html-template-modules. It uses the TAL specification,
wich makes the templates (in most cases) more readable. And allow
the co-working with a Designers using WYSIWYG Stuff.
I think this is the right concept, if your project isn't small, and
templating is more suitable as transforming (XSLT).