NAME

Template::Tiny - Template Toolkit reimplemented in as little code as possible

SYNOPSIS

my $template = Template::Tiny->new;

$template->process( <<'END_TEMPLATE', { foo => 'World' } );
Hello [% foo %]!
END_TEMPLATE

DESCRIPTION

WARNING: THIS MODULE IS EXPERIMENTAL AND SUBJECT TO CHANGE WITHOUT NOTICE

YOU HAVE BEEN WARNED!

Template::Tiny is a reimplementation of a partial subset of the Template Toolkit, in as few lines of code as possible.

It is intended for use in light-usage, low-memory, or low-cpu templating situations, where you may need to upgrade to the full feature set in the future, or if you want the familiarity of TT-style templates.

It is intended to have fully-compatible template and stash usage, with a limited by similar Perl API.

Unlike Template Toolkit, Template::Tiny will process templates without a compile phase (but despite this is still quicker, owing to heavy use of the Perl regular expression engine.

SUPPORTED USAGE

Only the default [% %] tag style is supported.

Both the [%+ +%] style explicit whitespace and the [%- -%] style explicit chomp are support, although the [%+ +%] version is unneeded as Template::Tiny does not support default-enabled PRE_CHOMP or POST_CHOMP.

Variable expressions in the form foo.bar.baz are supported.

Appropriate simple behaviours for ARRAY reference, HASH reference and objects are supported, but not "VMethods" such as array lengths.

Simple un-nested conditions are supported, but only in the most simple varieties, like [% IF foo.bar %] content [% END %] and the UNLESS equivalent (to prevent the need to implement expression operators).

Anything beyond this is currently out of scope

METHODS

new

my $template = Template::Tiny->new;

The new constructor is provided for compatibility with Template Toolkit, but is not strictly necesary.

process

$template->process( \$input, $vars );

The process method is called to process a template. The firsts parameter is a reference to a text string containing the template text. A reference to a hash may be passed as the second parameter containing definitions of template variables.

SUPPORT

Bugs should be reported via the CPAN bug tracker at

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Tiny

For other issues, or commercial enhancement or support, contact the author.

AUTHOR

Adam Kennedy <adamk@cpan.org>

SEE ALSO

Config::Simple

COPYRIGHT

Copyright 2009 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.