NAME Text::MicroMason::Docs::ReadMe - About the MicroMason Distribution 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 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" lines and "<%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 less than a thousand 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 level of Mason compatibility is described in the Text::MicroMason::Mason manpage. Compatibility with Other Templating Systems I've also recently added mixin classes that emulate the template syntax used by Apache::ASP, Embperl, HTML::Template and Text::Template. Because these mixins share the underlying implementation of compiling a custom Perl subroutine, they theoretically could execute faster than the run-time evaluation mechanisms used by the originals, although no benchmarking has been performed yet. DISTRIBUTION STATUS This is version 1.98 of Text::MicroMason. This is an BETA version on a development track for a 2.0 release. This module has been available on CPAN for over two years. If you encounter any problems, please inform the author and I'll endeavor to patch them promptly. This module's CPAN registration should read: Name DSLIP Description -------------- ----- --------------------------------------------- Text:: Grp 11 Text Processing ::MicroMason Rdpfp Simplified HTML::Mason Templating 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 INSTALLATION This module should work with any version of Perl 5, without platform dependencies or additional modules beyond the core distribution. 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 ("http://search.cpan.org/~evo/") or from the author's site ("http://www.evoscript.org/Text-MicroMason"). 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 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. You can report bugs via the CPAN web tracking system, or send mail to "Dist=Text-MicroMason#rt.cpan.org", replacing "#" with "@". http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-MicroMason If you've found this module useful or have feedback about your experience with it, consider sharing your opinion with other Perl users by posting your comment to CPAN's ratings system. http://cpanratings.perl.org/rate/?distribution=Text-MicroMason For more general discussion, you may wish to post a message on PerlMonks or on the comp.lang.perl.misc newsgroup. http://perlmonks.org/?node=Seekers%20of%20Perl%20Wisdom http://groups.google.com/groups?group=comp.lang.perl.misc AUTHOR Developed by Matthew Simon Cavalletto at Evolution Softworks. You may contact the author directly at "evo#cpan.org" or "simonm#cavalletto.org", replacing "#" with "@". Custom development and technical consulting are available at "www.evolutionsoftworks.com". More free Perl software is available at "www.evoscript.org". THANKS My sincere thanks to the following users for their feedback: Pascal Barbedor Mark Hampton Philip King Daniel J. Wright William Kern Tommi Maekitalo Alan Ferrency SOURCE MATERIAL Based on the superb HTML::Mason developed by Jonathan Swartz. Portions based on Text::Template developed by Mark Jason Dominus. Portions based on HTML::Template developed by Sam Tregar. Portions based on Embperl developed by Gerald Richter. LICENSE Copyright 2002, 2003, 2004 Matthew Simon Cavalletto. Portions copyright 2001 Evolution Online Systems, Inc. You may use, modify, and distribute this software under the same terms as Perl.