* Internationalized (i18n) * The template can be viewed in any browser / editor, the petal tags are embedded in the html-tags. * Straight forward (small learning curve when used to HTML::Template) * Petal provides a mini-language * Petal is xml-based, which is fine if you have well-done XHTML. * It's pretty mature and has an active community. * Installable with apt-get install libpetal-perl * The HTML beforehand is well formed, includes sample values for the dynamic parts and all you have to do with Dream weaver is apply styles to the sample data and all will be well. At template compile time, all the sample data is discarded and then at run time, the real data is inserted. Cons * The thing that takes the most getting used to is that it's a little verbose. Unfortunately this is a necessary side effect of being truly compatible with XML/HTML.