Matthew Simon Cavalletto


Text::MicroMason::Docs::Related - A Brief Survey of Templating Modules


Text::MicroMason is just one of dozens (or hundreds) of templating distributions on CPAN.

This document mentions a few related modules and includes a brief discussion of some similarities and differences among them.


For a more authoritative discussion, see Perrin Harkins' classic article at

For reference, here's a slightly mangled version of the comparison matrix at the conclusion of that article:

                 Scope          Style           Parsing         Language
  HTML::Mason    Framework      Callback        Compiled        Perl
  HTML::Embperl  Framework      Callback        Compiled        Perl
  Apache::ASP    Framework      Callback        Compiled        Perl and XSL
  AxKit          Framework      Pipeline        Compiled or     Perl, XSL and
                                                 Cached Parse    Mini-Languages
  SSI            Templates      Callback        Repeated Parse  Mini-Language
  Template Tlkit Templates      Pipeline        Compiled        Mini-Language
  HTML::Template Templates      Pipeline        Cached Parse    Mini-Language
  Text::Template Templates      Pipeline        Compiled        Perl


There are serveral ways we can differentiate between templating systems:

Perl Syntax vs. Little Languages

Some templating systems use Perl syntax for both interpolated expressions and flow control, including Text::Template, Template::Perl, and Text::ScriptTemplate.

Others use "little languages", including Template::Toolkit and HTML::Template.

Just Templating vs. Web Application Framework

Some templating systems just provide functions to fill in templates, like Text::Template.

Others are part of full-blown web application frameworks like Apache::ASP, ePerl, HTML::Embperl, and HTML::Mason.

Modular vs Monolithic

Some templating systems are not particularly configurable or extensible.

Others support various kinds of extensions, including Template::Toolkit, HTML::Mason and Text::MicroMason.

Interpreted vs. Compiled

Some templating systems repeatedly parse the template from scratch every time it is used.

Others parse the template into an intermediate data structure and then iterate over that each time the template is used.

Others convert the template into equivalent Perl source code which can be compiled into a directly-executable subroutine and used repeatedly, including HTML::Mason and Text::MicroMason.



For an emulation for Apache::ASP, see Text::MicroMason::ServerPages.


For an emulation for Embperl, see Text::MicroMason::Embperl.


For an emulation for HTML::Template, see Text::MicroMason::HTMLTemplate.

See also HTML::Template::Compiled.


For an emulation for HTML::Mason, see Text::MicroMason::HTMLMason.

(If you've already got HTML::Mason installed, configured, and loaded into your process, you're probably better off using it rather than this package. HTML::Mason's $interp->make_component() method allows you to parse a text string without saving it to disk first.)


For an emulation for PLP, see Text::MicroMason::PLP.


For an emulation for Text::Template, see Text::MicroMason::TextTemplate.


For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe.