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.