Template::Provider is a provider module for loading/compiling templates.
$provider = Template::Provider->new(%options);
($template, $error) = $provider->fetch($name);
The Template::Provider is used to load, parse, compile and cache template documents. This object may be sub-classed to provide more specific facilities for loading, or otherwise providing access to templates.
The Template::Context objects maintain a list of Template::Provider objects which are polled in turn (via fetch()) to return a requested template. Each may return a compiled template, raise an error, or decline to serve the request, giving subsequent providers a chance to do so.
This is the "Chain of Responsibility" pattern. See 'Design Patterns' for further information.
The Template::Provider can also be subclassed to provide templates from a different source, e.g. a database. See SUBCLASSING below.