HTML::Template::Preload - Preload HTML::Template templates into cache.
Preload HTML::Template templates into cache:
use HTML::Template::Preload qw(-path => '/some/path', cache => 1);
HTML::Template supports the concept of a 'cache' which is use to hold pre-parsed templates. At the same time, HTML::Template supports a number of different types of caching mechanisms.
In a Apache/ModPerl environment, there may be a small but significant performance benefit having Apache pre-load the templates, so as to avoid needing the Apache-child-instances parse the templates, as they will have inherited the parent instance cache. To make this work, you would call this module from your startup.pl in Apache/mod_perl.
Thus this module pre-parses all the templates, then places them into the selected cache.
You can use this module in one of two ways, either: a) In your 'use' statement, provide it with your HTML::Template cache info, as in:
use HTML::Template::Preload qw( -path => '/some/path', -path => 'some/other/path', cache => 1, ); b) Or inside your program code: use HTML::Template::Preload; ... my %ht_options; $ht_options{path} = \@search_paths; $ht_options{global_vars} = 1; $ht_options{strict} = 0; $ht_options{cache} = 1; ... HTML::Template::Preload->preload(%ht_options);
HTML::Template::Preload takes a hash of named arguments:
-extension The filename extension you use for all of your templates. Defaults to: .tmpl -file Name a specific file or files to cache. Takes a scalar or an array of filenames. This uses the search path to find the template files; as implemented by HTML::Template. -path Name a specific search path or paths. Takes a scalar or an array of paths. This will usually be the same list as would be passed to the 'path' argument to HTML::Template. -function sub's to functions that need to be registered for HTML::Template::Expr.
All other arguments (that dont begin with a '-') are passed to the HTML::Template caching-instance.
Note that you dont need to specify the "-xxx" variation of these arguments -> you can simply use the same hash-options as given to HTML::Template. The point of these extra options is to allow for explicitly caching a specific template.
Mathew Robertson (mathew@users.sf.net)
This module is released under the same license as the license the HTML::Template is released under.
To install HTML::Template::Bundle, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTML::Template::Bundle
CPAN shell
perl -MCPAN -e shell install HTML::Template::Bundle
For more information on module installation, please visit the detailed CPAN module installation guide.