NAME
Text::MicroMason - Simplified HTML::Mason Templating
DESCRIPTION
Text::MicroMason interpolates blocks of Perl code embedded into text
strings, using the simplest features of HTML::Mason.
Here's an example of Mason-style templating, taken from the HTML::Mason
manpage:
% my $noun = 'World';
Hello <% $noun %>!
How are ya?
Interpreting this template with Text::MicroMason produces the same
output as it would in HTML::Mason:
Hello World!
How are ya?
A complete discussion of the supported syntax and the way it is
compiled is provided in the module's inline POD.
MOTIVATION
The HTML::Mason module provides a useful syntax for dynamic template
interpretation (sometimes called embedded scripting): plain text (or
HTML) containing occasional chunks of Perl code whose results are
interpolated into the text when the template is "executed."
However, HTML::Mason also provides a full-featured web application
framework with mod_perl integration, a caching engine, and numerous
other functions, and there are times in which I'd like to use the
templating capability without configuring a full Mason installation.
Thus, the Text::MicroMason module was born: it supports the core aspects
of the HTML::Mason syntax ("<%...%>" expressions, "%...\n" and
"<%perl>...%perl>" blocks, "<& file &>" includes, "%ARGS" and
"$_out->()" ), and omits the features that are web specific (like
autohandlers) or are less widely used (like "<%method>" blocks).
Related Modules
You may well be thinking "yet another dynamic templating module?
Sheesh!" And you'd have a good point. There certainly are a variety of
templating toolkits on CPAN already; even restricting ourselves to those
which use Perl syntax for both interpolated expressions and flow control
(as opposed to "little languages") there's a fairly crowded field,
including Template::Toolkit, Template::Perl, Text::Template, and
Text::ScriptTemplate, as well as those that are part of full-blown web
application frameworks like Apache::ASP, ePerl, HTML::Embperl, and
HTML::Mason.
Nonetheless, I think this module occupies a useful niche: it provides a
reasonable subset of HTML::Mason syntax in a very light-weight fashion.
In comparison to the other modules listed, MicroMason aims to be fairly
lightweight, using one eval per parse, converting the template to an
cacheable unblessed subroutine ref, eschewing method calls, and
containing just over a hundred lines of Perl code.
Compatibility with HTML::Mason
See the HTML::Mason manpage for a much more full-featured version of the
capabilities provided by this module.
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.
The following sets of HTML::Mason features are not supported by
Text::MicroMason:
* No %attr, %shared, %method, or %def blocks.
* No |h or |u options to escape the result of interpolated
expressions.
* No $m Mason interpreter context.
* No $r request object
* No shared files like autohandler and dhandler.
* No mod_perl integration or configuration capability.
DISTRIBUTION, INSTALLATION AND SUPPORT
Version
This is version 1.07 of Text::MicroMason.
Prerequisites
This module should work with any version of Perl 5, without platform
dependencies or additional modules beyond the core distribution.
Installation
You should be able to install this module using the CPAN shell
interface:
perl -MCPAN -e 'install Text::MicroMason'
Alternately, you may retrieve this package from CPAN or from the
author's site:
* http://search.cpan.org/~evo/
* http://www.cpan.org/modules/by-authors/id/E/EV/EVO
* http://www.evoscript.org/Text-MicroMason/dist/
After downloading the distribution, follow the normal procedure to
unpack and install it, using the commands shown below or their local
equivalents on your system:
tar xzf Text-MicroMason-*.tar.gz
cd Text-MicroMason-*
perl Makefile.PL
make test && sudo make install
Release Status
This module's CPAN registration should read:
Name DSLIP Description
-------------- ----- ---------------------------------------------
Text::
::MicroMason Rdpfp Simplified HTML::Mason Templating
This module should be categorized under group 11, Text Processing
(although there's also an lesser argument for placing it 15 Web/HTML,
where HTML::Mason appears).
This module has been available on CPAN for over two years, with a
relatively stable interface and feature set. If you encounter any
problems, please inform the author and I'll endeavor to patch them
promptly.
Tested Platforms
This release has been tested succesfully on the following platforms:
5.6.1 on darwin
Earlier releases have also tested OK on a wide variety of platforms. You
may review the current test results from CPAN-Testers:
* http://testers.cpan.org/show/Text-MicroMason.html
Support
If you have questions or feedback about this module, please feel free to
contact the author at the below address. Although there is no formal
support program, I do attempt to answer email promptly.
I would be particularly interested in any suggestions towards improving
the documentation, correcting any Perl-version or platform dependencies,
as well as general feedback and suggested additions.
Bug reports that contain a failing test case are greatly appreciated,
and suggested patches will be promptly considered for inclusion in
future releases.
To report bugs via the CPAN web tracking system, go to
"http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-MicroMason" or send mail
to "Dist=Text-MicroMason#rt.cpan.org", replacing "#" with "@".
CREDITS AND COPYRIGHT
Author
Developed by Matthew Simon Cavalletto at Evolution Softworks. More free
Perl software is available at "www.evoscript.org".
You may contact the author directly at "evo@cpan.org" or
"simonm@cavalletto.org".
The Shoulders of Giants
Based on the superb HTML::Mason, originally developed by Jonathan
Swartz.
Feedback and Suggestions
My sincere thanks to the following users who have provided feedback:
Pascal Barbedor
Mark Hampton
Philip King
Daniel J. Wright
William Kern
Tommi Maekitalo
Copyright
Copyright 2002, 2003 Matthew Simon Cavalletto.
Portions copyright 2001 Evolution Online Systems, Inc.
License
You may use, modify, and distribute this software under the same terms
as Perl.