line |
true |
false |
branch |
37
|
0 |
0 |
if (-e $file) { } |
|
0 |
0 |
elsif (-e "$file.html") { } |
|
0 |
0 |
elsif (-e "$file.txt") { } |
47
|
0 |
0 |
if -e 'File::Spec'->catfile($dir, "$file.html") |
48
|
0 |
0 |
if -e 'File::Spec'->catfile($dir, "$file.txt") |
49
|
0 |
0 |
if -e 'File::Spec'->catfile($dir, $file) |
52
|
0 |
0 |
if -e $file |
77
|
1 |
293 |
if (ref $data eq 'SCALAR') { } |
|
293 |
0 |
elsif (not ref $data) { } |
88
|
133 |
0 |
if (-e "$data.pm" and $compile && $compile > 0 || !defined($compile)) |
89
|
133 |
0 |
if (-e $data) { } |
90
|
132 |
1 |
if ((stat "$data.pm")[9] > (stat "$data")[9]) { } |
93
|
114 |
18 |
unless $cache{"$data.pm"} |
103
|
0 |
132 |
unless (eval {
do {
$cache{"$data.pm"} = {'template', 'Dotiac::DTL::Compiled'->new('Dotiac::DTL::Compiled::' . (require "$data.pm")), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%Dotiac::DTL::params}, 'parser', $Dotiac::DTL::PARSER, 'changetime', (stat "$data.pm")[9]} unless $cache{"$data.pm"};
$t = "$data.pm";
$compile = 0;
1
}
}) |
111
|
1 |
0 |
if $compile or not defined $compile |
115
|
0 |
0 |
if ($cache{"$data.pm"} and exists $cache{"$data.pm"}{'changetime'} and $cache{"$data.pm"}{'changetime'} < (stat "$data.pm")[9]) |
121
|
0 |
0 |
unless $cache{"$data.pm"} |
131
|
0 |
0 |
unless (eval {
do {
$cache{"$data.pm"} = {'template', 'Dotiac::DTL'->compiled('Dotiac::DTL::Compiled::' . (require "$data.pm")), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%Dotiac::DTL::params}, 'parser', $Dotiac::DTL::PARSER, 'changetime', (stat "$data.pm")[9]} unless $cache{"$data.pm"};
$t = "$data.pm";
$compile = 0;
1
}
}) |
137
|
2 |
39 |
if ($cache{$t} and $t eq $data and exists $cache{$t}{'changetime'} and $cache{$t}{'changetime'} < (stat "$t")[9]) |
140
|
122 |
171 |
unless ($cache{$t}) |
141
|
0 |
122 |
unless open my $fh, '<', $data |
153
|
123 |
171 |
unless ($cache{$t}) |
154
|
0 |
123 |
unless eval "require $Dotiac::DTL::PARSER;" |
172
|
0 |
123 |
unless (eval {
do {
$cache{$t} = {'template', $parser->parse($data, \$pos), 'currentdir', $Dotiac::DTL::currentdir, 'params', {%Dotiac::DTL::params}, 'parser', $Dotiac::DTL::PARSER, 'changetime', $changetime};
1
}
}) |
177
|
128 |
166 |
if ($compile and $compile > 0) |
178
|
128 |
0 |
if (open my $cp, '>', "$t.pm") { } |
204
|
0 |
128 |
unless (eval {
do {
require Data::Dumper;
$Data::Dumper::Indent = 2;
$Data::Dumper::Useqq = 1;
my $template = $cache{$t}{'template'};
my $digest = Digest::MD5::md5_hex($t);
print $cp "#Autogenerated\n";
print $cp "package Dotiac::DTL::Compiled::$digest;\nuse strict;\nuse warnings;\nrequire Scalar::Util;\n#PARAMS USED:\nour ";
print $cp 'Data::Dumper'->Dump([$cache{$t}{'params'}], ['$params']);
$template->perl($cp, 0, $digest);
print $cp "\n#INIT\n";
$template->perlinit($cp, 0, $digest);
print $cp qq[\nsub string {\n\tmy \$vars=shift;\n\tmy \$escape=shift;\n\tmy \$r="";\n];
$template->perlstring($cp, 0, 1, $digest);
print $cp "\treturn \$r;\n}\n";
print $cp "sub print {\n\tmy \$vars=shift;\n\tmy \$escape=shift;\n";
$template->perlprint($cp, 0, 1, $digest);
print $cp "}\n";
print $cp "sub eval {\n\tmy \$vars=shift;\n\tmy \$escape=shift;\n";
$template->perleval($cp, 0, 1, $digest);
print $cp "}\n";
print $cp qq["$digest";];
close $cp;
1
}
}) |