Provided by: libtemplate-perl_2.27-1build10_amd64 bug

NAME

       Template::Modules - Template Toolkit Modules

Template Toolkit Modules

       This documentation provides an overview of the different modules that comprise the
       Template Toolkit.

   Template
       The Template module is the front-end to the Template Toolkit for Perl programmers.

           use Template;
           my $tt = Template->new();
           $tt->process('hello.html', message => 'Hello World');

   Template::Base
       The Template::Base module implements a base class from which the other Template Toolkit
       modules are derived.  It implements common functionality for creating objects, error
       reporting, debugging, and so on.

   Template::Config
       The Template::Config module defines the configuration of the Template Toolkit for your
       system. It is an example of a factory module which is responsible for instantiating the
       various other modules used in the Template Toolkit.

       For example, the Template::Config module defines the $STASH package variable which
       indicates which version of the Template::Stash you are using by default.  If you elected
       to use the faster XS stash when you installed the Template Toolkit, then this will be set
       as:

           $STASH = 'Template::Stash::XS';

       Otherwise you'll get the regular Perl stash:

           $STASH = 'Template::Stash';

       This approach means that other parts of the Template Toolkit don't have to worry about
       which stash you're using.  They just ask the Template::Config module to create a stash of
       the right kind.

   Template::Constants
       The Template::Constants defines a number of constants that are used by the Template
       Toolkit.

       For example, the ":chomp" tagset defines the "CHOMP_???" constants that can be used with
       the "PRE_CHOMP" and "POST_CHOMP" configuration options.

           use Template::Constants ':chomp';
           my $tt = Template->new({
               PRE_CHOMP => CHOMP_COLLAPSE,
           });

   Template::Context
       The Template::Context module defines a runtime context in which templates are processed. A
       context keeps track of all the templates, variables, plugins, and other resources that are
       available (either directly or through delegate objects) and provides methods to fetch,
       store, and perform various operations on them.

   Template::Document
       The Template::Document module implements a compiled template document object.  This is
       generated by the Template::Parser module.

   Template::Exception
       The Template::Exception module implements an exception object which is used for runtime
       error reporting.

   Template::Filters
       The Template::Filters module implements a filter provider.  It includes the core
       collection of filters that can be used via the "FILTER" directive.

   Template::Iterator
       The Template::Iterator module implements a data iterator which steps through each item in
       a list in turn.  It is used by the "FOREACH" directive.  Within a "FOREACH" block, the
       "loop" variable always references the current iterator object.

           [%  FOREACH item IN list;
                 IF loop.first;
                    # first item in loop
                 ELSIF loop.last;
                    # last item in loop
                 ELSE;
                    # any other item in loop
                 END;
               END
           %]

   Template::Namespace::Constants
       The Template::Namespace::Constants module is used internally to represent constants. These
       can be resolved immediately at the point that a template is compiled.

   Template::Parser
       The Template::Parser module is used to parse a source template and turn it into Perl code
       which can be executed.

   Template::Plugin
       The Template::Plugin module is a base class for Template Toolkit plugins that can be
       loaded on demand from within a template using the "USE" directive.

   Template::Plugins
       The Template::Plugins module is the plugins provider.  It loads and prepares plugins as
       and when they are requested from within a template.

   Template::Provider
       The Template::Provider module is responsible for loading, compiling and caching templates.

   Template::Service
       The Template::Service module implements a service layer that sits just behind the Template
       module, and just in front of a Template::Context. It handles each request to process a
       template (forwarded from the Template module). It adds any headers and/or footers
       (specified via the "PRE_PROCESS" and "POST_PROCESS" options), applies any wrapper (the
       "WRAPPER" option) and catches any errors returned (the "ERRORS" option).

   Template::Stash
       The Template::Stash module is used to fetch and store template variables.  It implements
       all of the magic associated with the dot operator.

   Template::Stash::XS
       The Template::Stash::XS module is a high-speed implementation of Template::Stash written
       in C.

   Template::Test
       The Template::Test module is used to automate the Template Toolkit test scripts.