The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::Template::Preload - Preload HTML::Template templates into cache.

SYNOPSIS

Preload HTML::Template templates into cache:

  use HTML::Template::Preload qw(-path => '/some/path', cache => 1);

DESCRIPTION

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.

USAGE

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.

AUTHOR

Mathew Robertson (mathew@users.sf.net)

LICENSE

This module is released under the same license as the license the HTML::Template is released under.