use strict; use warnings; use Benchmark; use Template; open my $fh, '<', 'index.tmpl' or die $!; my $template = do { local $/; <$fh> }; close $fh; my $t1 = Template->new(INCLUDE_PATH => '.') or die $!; sub program { $t1->process(\$template, undef, '/dev/null') or die $!; } sub cache   { $t1->process('index.tmpl', undef, '/dev/null') or die $!; } Benchmark::cmpthese(-1, {   cache   => \&cache,   program  => \&program, });