Lazy loading for html::template::compiled
use HTML::Template::Compiled::Lazy;
my $htcl = HTML::Template::Compiled::Lazy->new(
# usual parameters for HTML::Template::Compiled
);
$htcl->param(...);
# file wasn't compiled yet
print $htcl->output; # now compile and output!
This class does not compile templates before calling \*(C`output()\*(C'. This includes \*(C`TMPL_INCLUDE\*(C's. This can be useful in \s-1CGI\s0 environments. If your template has got a lot of includes HTML::Template::Compiled will compile all of them, even if they aren't needed because they are never reached (in a \*(C`TMPL_IF\*(C', for example).
HTML::Template::Compiled::Lazy also won't complain if the file does not exist - it will complain when you call \*(C`output()\*(C', though.