Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Template::Tiny(3)     User Contributed Perl Documentation    Template::Tiny(3)

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

VERSION
       version 1.14

SYNOPSIS
	 my $template =	Template::Tiny->new(
	     TRIM => 1,
	 );

	 # Print the template results to STDOUT
	 $template->process( <<'END_TEMPLATE', { foo =>	'World'	} );
	 Hello [% foo %]!
	 END_TEMPLATE

DESCRIPTION
       Template::Tiny is a reimplementation of a subset	of the functionality
       from 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 retain the	familiarity of
       TT-style	templates.

       For the subset of functionality it implements, it has fully-compatible
       template	and stash API. All templates used with Template::Tiny should
       be able to be transparently upgraded to full Template Toolkit.

       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
       in practice 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" references, "HASH" references
       and objects are supported. "VMethods" such as [%	array.length %]	are
       not supported at	this time.

       "IF", "ELSE" and	"UNLESS" conditional blocks are	supported, but only
       with simple "[% foo.bar.baz %]" conditions.

       Support for looping (or rather iteration) is available in simple	"[%
       FOREACH item IN list %]"	form is	supported. Other loop structures are
       not supported. Because support for arbitrary or infinite	looping	is not
       available, Template::Tiny templates are not turing complete. This is
       intentional.

       All of the four supported control structures
       "IF"/"ELSE"/"UNLESS"/"FOREACH" can be nested to arbitrary depth.

       The treatment of	"_private" hash	and method keys	is compatible with
       Template	Toolkit, returning null	or false rather	than the actual
       content of the hash key or method.

       Anything	beyond the above is currently out of scope.

METHODS
   new
	 my $template =	Template::Tiny->new(
	     TRIM => 1,
	 );

       The "new" constructor is	provided for compatibility with	Template
       Toolkit.

       The only	parameter it currently supports	is "TRIM" (which removes
       leading and trailing whitespace from processed templates).

       Additional parameters can be provided without error, but	will be
       ignored.

   process
	 # DEPRECATED: Return template results (emits a	warning)
	 my $text = $template->process(	\$input, $vars );

	 # Print template results to STDOUT
	 $template->process( \$input, $vars );

	 # Generate template results into a variable
	 my $output = '';
	 $template->process( \$input, $vars, \$output );

       The "process" method is called to process a template.

       The first 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.

       If a third parameter is provided, it must be a scalar reference to be
       populated with the output of the	template.

       For a limited amount of time, the old deprecated	interface will
       continue	to be supported. If "process" is called	without	a third
       parameter, and in scalar	or list	contest, the template results will be
       returned	to the caller.

       If "process" is called without a	third parameter, and in	void context,
       the template results will be "print()"ed	to the currently selected file
       handle (probably	"STDOUT") for compatibility with Template.

SEE ALSO
       Template::Tiny::Strict, Config::Tiny, CSS::Tiny,	YAML::Tiny

SUPPORT
       Bugs may	be submitted through the RT bug	tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=Template-Tiny> (or
       bug-Template-Tiny@rt.cpan.org <mailto:bug-Template-Tiny@rt.cpan.org>).

AUTHOR
       Adam Kennedy <adamk@cpan.org>

CONTRIBUTORS
       o   Adam	Kennedy	<adam@ali.as>

       o   Karen Etheridge <ether@cpan.org>

       o   Alexandr Ciornii <alexchorny@gmail.com>

       o   Matt	S Trout	<mst@shadowcat.co.uk>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2009 by Adam Kennedy.

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

perl v5.32.1			  2021-05-02		     Template::Tiny(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | SUPPORT | AUTHOR | CONTRIBUTORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Template::Tiny&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help