Branch Coverage

blib/lib/HTML/Template.pm
Criterion Covered Total %
branch 541 834 64.8


line true false branch
1160 1042 1071 unless length($t = ref $r)
1164 0 1071 eval { do { $r->a_sub_not_likely_to_be_here; 1 } } ? :
1168 0 0 $q =~ /^\*/ ? :
1170 0 0 unless ($t = eval { do { my $q = *$r; $q =~ /^\*/ ? 'GLOB' : 'IO' } })
1178 0 0 length ref ${$r;} ? :
0 0 unless defined *glob{'ARRAY'} and 'ARRAY' or defined *glob{'HASH'} and 'HASH' or defined *glob{'CODE'} and 'CODE'
1182 0 1071 unless $t
1242 2 234 if $$options{'blind_cache'}
1245 0 236 if $$options{'shared_cache'}
1248 9 227 if $$options{'file_cache'}
1251 1 235 if $$options{'double_cache'}
1252 1 235 if $$options{'double_cache'}
1255 3 233 if $$options{'double_file_cache'}
1256 3 233 if $$options{'double_file_cache'}
1259 10 226 if (exists $$options{'type'})
1260 1 9 unless exists $$options{'source'}
1261 1 4 unless $$options{'type'} eq 'filename' or $$options{'type'} eq 'scalarref' or $$options{'type'} eq 'arrayref' or $$options{'type'} eq 'filehandle'
1271 1 233 if ($$options{'force_untaint'} and not ${^TAINT})
1277 3 230 if (reftype($$options{'associate'}) ne 'ARRAY')
1282 39 194 if (reftype($$options{'path'}) ne 'ARRAY')
1287 6 227 if (reftype($$options{'filter'}) ne 'ARRAY')
1293 1 3 unless defined $object->can('param')
1298 0 232 if ($$options{'recursive_templates'} < 0) { }
0 232 elsif ($$options{'recursive_templates'} > 100) { }
1303 1 231 if ($$options{'recursive_templates'})
1309 1 231 if ($$options{'structure_vars'})
1315 87 145 if exists $$options{'filename'}
1316 5 227 if exists $$options{'filehandle'}
1317 3 229 if exists $$options{'arrayref'}
1318 136 96 if exists $$options{'scalarref'}
1319 1 231 if ($source_count != 1)
1327 3 228 if grep {exists $$options{$_};} 'filehandle', 'arrayref', 'scalarref' and grep {$$options{$_};} 'cache', 'blind_cache', 'file_cache', 'shared_cache', 'double_cache', 'double_file_cache'
1331 87 141 if (exists $$options{'filename'})
1332 1 86 unless defined $$options{'filename'} and length $$options{'filename'}
1337 0 227 if ($$options{'memory_debug'})
1340 0 0 if $@
1347 11 216 if ($$options{'file_cache'})
1349 1 10 unless defined $$options{'file_cache_dir'} and length $$options{'file_cache_dir'}
1355 0 10 if $@
1359 0 226 if ($$options{'shared_cache'})
1362 0 0 if $@
1378 102 124 if ($$options{'default_escape'})
1381 1 101 if $@
1384 0 225 if $$options{'memory_debug'}
1390 0 217 if $$options{'memory_debug'}
1397 0 217 if $$options{'shared_cache'}
1408 4 1125 unless defined ${$argsref;}[$x + 1]
1472 0 225 if ($$options{'double_cache'}) { }
3 222 elsif ($$options{'double_file_cache'}) { }
0 222 elsif ($$options{'shared_cache'}) { }
7 215 elsif ($$options{'file_cache'}) { }
11 204 elsif ($$options{'cache'}) { }
1475 0 0 if defined $$self{'param_map'} and defined $$self{'parse_stack'}
1481 0 0 if defined $$self{'param_map'} and defined $$self{'parse_stack'}
1486 2 1 if defined $$self{'param_map'} and defined $$self{'parse_stack'}
1492 0 1 if defined $$self{'param_map'} and defined $$self{'parse_stack'}
1506 12 211 if defined $$self{'param_map'} and defined $$self{'parse_stack'}
1515 1 202 if ($$options{'file_cache'})
1518 7 196 if $$options{'cache'} and not $$options{'shared_cache'} and not $$options{'file_cache'} or $$options{'double_cache'} or $$options{'double_file_cache'}
1536 0 14 unless exists $$options{'filename'}
1540 0 14 unless defined $filepath
1545 7 7 unless exists $HTML::Template::CACHE{$key}
1549 6 1 if (defined $mtime)
1551 0 6 if (defined $HTML::Template::CACHE{$key}{'mtime'} and $mtime != $HTML::Template::CACHE{$key}{'mtime'})
1553 0 0 if $$options{'cache_debug'}
1560 4 2 if (exists $HTML::Template::CACHE{$key}{'included_mtimes'})
1563 0 2 unless defined $HTML::Template::CACHE{$key}{'included_mtimes'}{$filename}
1566 0 2 if ($included_mtime != $HTML::Template::CACHE{$key}{'included_mtimes'}{$filename})
1567 0 0 if $$options{'cache_debug'}
1578 1 6 if $$options{'cache_debug'}
1582 4 3 if exists $HTML::Template::CACHE{$key}{'included_mtimes'}
1596 1 6 if $$options{'cache_debug'}
1598 6 1 unless $$options{'blind_cache'}
1602 4 3 if exists $$self{'included_mtimes'}
1639 1 8 if (wantarray) { }
1651 0 8 unless exists $$options{'filename'}
1655 0 8 unless defined $filepath
1657 0 8 unless -e $cache_filename
1662 0 8 if $@
1664 0 8 unless defined $$self{'record'}
1676 8 0 if (defined $mtime)
1678 1 7 if (defined $$self{'mtime'} and $mtime != $$self{'mtime'})
1680 0 1 if $$options{'cache_debug'}
1691 7 0 if (exists $$self{'included_mtimes'})
1694 0 2 unless defined $$self{'included_mtimes'}{$filename}
1697 0 2 if ($included_mtime != $$self{'included_mtimes'}{$filename})
1698 0 0 if $$options{'cache_debug'}
1711 2 5 if $$options{'cache_debug'}
1723 0 1 unless (defined $filepath)
1725 0 0 unless defined $filepath
1732 0 1 unless (-d $cache_dir)
1733 0 0 unless (-d $$options{'file_cache_dir'})
1734 0 0 unless mkdir $$options{'file_cache_dir'}, $$options{'file_cache_dir_mode'}
1737 0 0 unless mkdir $cache_dir, $$options{'file_cache_dir_mode'}
1741 0 1 if $$options{'cache_debug'}
1752 0 1 if $@
1754 0 1 unless defined $result
1762 0 0 unless exists $$options{'filename'}
1765 0 0 unless defined $filepath
1773 0 0 if defined $$self{'record'}
1776 0 0 if $$options{'cache_debug'} and defined $$self{'record'}
1778 0 0 if defined $$self{'record'}
1789 0 0 if $$options{'shared_cache_debug'}
1791 0 0 if $$options{'blind_cache'}
1797 0 0 if (defined $mtime and defined $c_mtime and $mtime != $c_mtime)
1799 0 0 if $$options{'cache_debug'}
1806 0 0 if (defined $mtime and defined $included_mtimes)
1808 0 0 unless defined $$included_mtimes{$fname}
1809 0 0 if ($$included_mtimes{$fname} != (stat $fname)[9])
1810 0 0 if $$options{'cache_debug'}
1829 0 0 if $$options{'cache_debug'}
1831 0 0 if $$options{'memory_debug'}
1848 0 123 if 'File::Spec'->file_name_is_absolute($filename) and -e $filename
1852 34 89 if (defined $extra_path)
1855 27 7 if -e $filepath
1859 4 92 if (defined $ENV{'HTML_TEMPLATE_ROOT'})
1861 1 3 if -e $filepath
1867 75 6 if -e $filepath
1871 17 3 if -e $filename
1874 3 0 if (defined $ENV{'HTML_TEMPLATE_ROOT'})
1877 1 1 if -e $filepath
1889 2 87 if $$options{'blind_cache'}
1892 0 87 unless -r $filepath
1908 38 1 unless ref $item eq 'HTML::Template::LOOP'
1922 0 1 if exists $$options{'expr'}
1923 0 1 if exists $$options{'expr_func'}
1935 0 211 if $$options{'memory_debug'}
1938 70 141 if (exists $$options{'filename'}) { }
135 6 elsif (exists $$options{'scalarref'}) { }
2 4 elsif (exists $$options{'arrayref'}) { }
4 0 elsif (exists $$options{'filehandle'}) { }
1941 63 7 unless (defined $filepath)
1943 2 61 unless defined $filepath
1949 0 68 unless defined open(TEMPLATE, $filepath)
1981 0 209 if $$options{'memory_debug'}
1985 6 203 if @{$$options{'filter'};}
1998 0 14 unless reftype $filter
2002 4 10 if reftype $filter eq 'CODE'
2005 14 0 if (reftype $filter eq 'HASH') { }
2010 0 14 unless defined $format and defined $sub
2012 0 14 unless $format eq 'array' or $format eq 'scalar'
2014 0 14 unless ref $sub and reftype $sub eq 'CODE'
2019 12 2 if ($format eq 'scalar') { }
2031 0 14 if $@
2049 0 209 if $$options{'debug'}
2052 0 209 if ($$options{'profile'})
2081 3 206 if ($$options{'intrinsic_vars'})
2087 0 1 $$options{'filename'} ? :
2 1 defined $$options{'filepath'} ? :
2148 0 614 unless defined $chunks[$chunk_number]
2152 490 124 if ($chunk =~ m[^< (?:!--\s*)? ( /?[Tt][Mm][Pp][Ll]_ (?: (?:[Vv][Aa][Rr]) | (?:[Ll][Oo][Oo][Pp]) | (?:[Ii][Ff]) | (?:[Ee][Ll][Ss][Ee]) | (?:[Ee][Ll][Ss][Ii][Ff]) | (?:[Uu][Nn][Ll][Ee][Ss][Ss]) | (?:[Ii][Nn][Cc][Ll][Uu][Dd][Ee]) | (?:[Rr][Ee][Qq][Uu][Ii][Rr][Ee]) ) ) # $1 => $which - start of the tag \s* # DEFAULT attribute (?: [Dd][Ee][Ff][Aa][Uu][Ll][Tt] \s*=\s* (?: "([^">]*)" # $2 => double-quoted DEFAULT value " | '([^'>]*)' # $3 => single-quoted DEFAULT value | ([^\s=>]*) # $4 => unquoted DEFAULT value ) )? \s* # ESCAPE attribute (?: [Ee][Ss][Cc][Aa][Pp][Ee] \s*=\s* ( (?:"[^"]*") | (?:'[^']*') | (?:[^\s=>]*) # $5 => ESCAPE ) )* # allow multiple ESCAPEs \s* # DEFAULT attribute (?: [Dd][Ee][Ff][Aa][Uu][Ll][Tt] \s*=\s* (?: "([^">]*)" # $6 => double-quoted DEFAULT value " | '([^'>]*)' # $7 => single-quoted DEFAULT value | ([^\s=>]*) # $8 => unquoted DEFAULT value ) )? \s* # NAME attribute (?: (?: [Nn][Aa][Mm][Ee] \s*=\s* )? (?: "([^">]*)" # $9 => double-quoted NAME value " | '([^'>]*)' # $10 => single-quoted NAME value | ([^\s=>]*) # $11 => unquoted NAME value ) )? \s* # DEFAULT attribute (?: [Dd][Ee][Ff][Aa][Uu][Ll][Tt] \s*=\s* (?: "([^">]*)" # $12 => double-quoted DEFAULT value " | '([^'>]*)' # $13 => single-quoted DEFAULT value | ([^\s=>]*) # $14 => unquoted DEFAULT value ) )? \s* # ESCAPE attribute (?: [Ee][Ss][Cc][Aa][Pp][Ee] \s*=\s* ( (?:"[^"]*") | (?:'[^']*') | (?:[^\s=>]*) # $15 => ESCAPE ) )* # allow multiple ESCAPEs \s* # DEFAULT attribute (?: [Dd][Ee][Ff][Aa][Uu][Ll][Tt] \s*=\s* (?: "([^">]*)" # $16 => double-quoted DEFAULT value " | '([^'>]*)' # $17 => single-quoted DEFAULT value | ([^\s=>]*) # $18 => unquoted DEFAULT value ) )? \s* (?: (?:--) | (?:/) )?> (.*) # $19 => $post - text that comes after the tag $]sx) { }
0 124 elsif ($$options{'extended_syntax'} and $chunk =~ m[^<(?:!--\s*)? (/?) # $1 => $slash - start or end of tag marker [Tt][Mm][Pp][Ll]_([a-zA-Z0-9_]+) # $2 => $which - custom tag definition \s* ([^>]*) # $3 => $part - remaining part of custom tag > (.*) # $4 => $post - text that comes after the tag $]sx) { }
2294 28 348 defined $$options{'default_escape'} && $which eq 'TMPL_VAR' ? :
59 376 defined $15 ? :
55 435 defined $5 ? :
2299 373 0 defined $11 ? :
18 373 defined $10 ? :
99 391 defined $9 ? :
2302 4 464 defined $18 ? :
0 468 defined $17 ? :
0 468 defined $16 ? :
16 468 defined $14 ? :
1 484 defined $13 ? :
0 485 defined $12 ? :
0 485 defined $8 ? :
0 485 defined $7 ? :
0 485 defined $6 ? :
5 485 defined $4 ? :
0 490 defined $3 ? :
0 490 defined $2 ? :
2311 445 8 unless not defined $name or $which eq 'TMPL_INCLUDE' or $which eq 'TMPL_REQUIRE' or $$options{'case_sensitive'}
2314 1 489 if $need_names{$which} and not defined $name && length $name
2318 1 488 if $escape and $which ne 'TMPL_VAR'
2321 1 487 if defined $default and $which ne 'TMPL_VAR'
2324 285 202 if ($which eq 'TMPL_VAR') { }
39 163 elsif ($which eq 'TMPL_LOOP') { }
39 124 elsif ($which eq '/TMPL_LOOP') { }
32 92 elsif ($which eq 'TMPL_IF' or $which eq 'TMPL_UNLESS') { }
3 89 elsif ($which eq 'TMPL_ELSIF') { }
19 70 elsif ($which eq 'TMPL_ELSE') { }
31 39 elsif ($which eq '/TMPL_IF' or $which eq '/TMPL_UNLESS') { }
39 0 elsif ($which eq 'TMPL_INCLUDE' or $which eq 'TMPL_REQUIRE') { }
2325 0 285 if $$options{'debug'}
2330 28 257 if (exists $HTML::Template::pmap{$name}) { }
2332 0 28 unless ref $var eq 'HTML::Template::VAR'
2337 4 253 if $$options{'global_vars'} and not exists $HTML::Template::top_pmap{$name}
2343 25 260 if (defined $default)
2350 132 153 if ($escape)
2352 94 38 if $escape
2359 0 39 if $$options{'debug'}
2364 4 35 if (exists $HTML::Template::pmap{$name}) { }
2366 0 4 unless ref $loop eq 'HTML::Template::LOOP'
2397 6 33 if ($$options{'loop_context_vars'})
2408 0 39 if $$options{'debug'}
2411 0 39 unless defined $loopdata
2418 2 1 if (exists $HTML::Template::pmap{$var}) { }
2422 1 0 if $$options{'global_vars'} and not exists $HTML::Template::top_pmap{$var}
2426 3 0 if (ref $HTML::Template::pmap{$var} eq 'HTML::Template::VAR') { }
2440 0 39 if scalar @HTML::Template::ifstack
2468 0 39 if exists $$options{'expr'}
2469 0 39 if exists $$options{'expr_func'}
2473 0 32 if $$options{'debug'}
2478 7 25 if (exists $HTML::Template::pmap{$name}) { }
2486 25 7 if ($which eq 'TMPL_IF') { }
2496 25 7 if ($var eq $name) { }
2499 7 0 if (ref $var eq 'HTML::Template::VAR') { }
2512 0 3 if $$options{'debug'}
2515 0 3 unless defined $cond
2517 0 3 unless $$cond[4] == 0
2527 0 3 if (defined $$cond[1]) { }
2546 0 3 if (exists $HTML::Template::pmap{$name}) { }
2559 3 0 if ($var eq $name) { }
2562 0 0 if (ref $var eq 'HTML::Template::VAR') { }
2575 0 19 if $$options{'debug'}
2578 0 19 unless defined $cond
2579 1 18 if $$cond[6]
2587 2 16 if (defined $$cond[1]) { }
2604 0 31 if $$options{'debug'}
2609 27 7 if ($which eq '/TMPL_IF') { }
2610 0 27 unless defined $cond
2611 0 27 if $$cond[4] == 1
2614 0 7 unless defined $cond
2615 0 7 if $$cond[4] == 0
2627 3 31 if $elsif_count
2633 0 39 if $$options{'debug'}
2636 1 38 if $$options{'no_includes'}
2639 0 38 if $$options{'profile'}
2645 4 34 if ($$options{'search_path_on_include'}) { }
2653 0 38 unless defined $filepath
2657 37 1 if ($which eq 'TMPL_INCLUDE' or not exists $$self{'included_templates'}{$filepath})
2660 0 37 unless defined open(TEMPLATE, $filepath)
2669 6 31 if @{$$options{'filter'};}
2671 37 0 if ($included_template)
2674 4 33 if ($$options{'cache'} and not $$options{'blind_cache'})
2684 0 37 if ($$options{'includes_debug'})
2688 1 36 if $$options{'max_includes'} and scalar @fstack > $$options{'max_includes'}
2714 448 0 if (defined $post)
2715 1 447 if (ref $HTML::Template::pstack[$#HTML::Template::pstack] eq 'SCALAR') { }
2739 0 0 if length $3
2740 0 0 if length $4
2741 0 0 unless defined $slash
2742 0 0 unless $which
2743 0 0 if (defined $part) { }
2748 0 0 unless defined $post
2751 0 0 $$options{'parent_global_vars'} || $$options{'global_vars'} ? :
2753 0 0 if (defined $objs)
2754 0 0 if (reftype $objs eq 'ARRAY') { }
2763 0 0 if (defined $post and length $post)
2764 0 0 if (ref $HTML::Template::pstack[$#HTML::Template::pstack] eq 'SCALAR') { }
2773 120 4 if ($$options{'strict'})
2774 0 120 if $chunk =~ m[<(?:!--\s*)?/?[Tt][Mm][Pp][Ll]_]
2778 124 0 if (defined $chunk)
2779 36 88 if (ref $HTML::Template::pstack[$#HTML::Template::pstack] eq 'SCALAR') { }
2799 0 203 if scalar @HTML::Template::ifstack
2800 0 203 if scalar @loopstack
2805 23 19 if (exists $HTML::Template::pmap{$var}) { }
2809 0 19 if $$options{'global_vars'} and not exists $HTML::Template::top_pmap{$var}
2813 38 4 if (ref $HTML::Template::pmap{$var} eq 'HTML::Template::VAR') { }
2821 0 203 if ($$options{'stack_debug'})
2831 0 203 if ($$options{'profile'})
2842 0 203 if ($$options{'param_debug'})
2855 68 166 if ($escape =~ /^(?: "([^"]*)" | '([^']*)' )$/sx)
2860 0 0 defined $escape ? :
32 0 defined $2 ? :
36 32 defined $1 ? :
2863 38 196 if $escape eq '' or $escape eq '0' or $escape eq 'NONE'
2864 136 60 if $escape eq '1' or $escape eq 'HTML'
2866 186 10 if $HTML::Template::ESCAPE_MAP{$escape}
2868 6 4 unless $escape eq 'ESCAPE'
2870 1 9 if $@
2873 0 9 if $@
2874 0 9 unless UNIVERSAL::isa($esc_obj, 'HTML::Template::ESCAPE')
2893 0 0 if ($$options{'strict'})
2898 0 0 if $$options{'debug'}
3021 0 366 unless scalar @_
3028 78 59 unless (scalar @_ or length $type)
3029 2 76 $$options{'case_sensitive'} ? :
3032 1 77 if $$options{'die_on_bad_params'} and not exists $$param_map{$param}
3035 10 67 unless exists $$param_map{$param} and defined $$param_map{$param}
3038 60 7 if ref $$param_map{$param} eq 'HTML::Template::VAR'
3043 59 229 if (not scalar @_) { }
3044 1 58 unless $type eq 'HASH' or UNIVERSAL::isa($first, 'HASH')
3051 1 286 unless @_ % 2 == 0
3058 5 438 $$options{'case_sensitive'} ? :
3062 0 400 if $$options{'die_on_bad_params'} and not $$options{'recursive_templates'} and not exists $$param_map{$param} and not reftype $value eq 'HASH'
3067 1 1 if $$options{'recursive_templates'} and not exists $$param_map{$param} and not reftype $value eq 'HASH'
3070 1 442 if ($$options{'structure_vars'} and $param =~ /\./)
3089 1 0 if (exists $$param_map{$structure_param} and not exists $$self{'structure_vars'}{$structure_param})
3092 1 0 if ($structure_param_type eq 'HTML::Template::VAR') { }
0 0 elsif ($structure_param_type eq 'HTML::Template::LOOP') { }
3093 1 0 unless (defined ${$$param_map{$structure_param};})
3095 0 1 if $$options{'debug'}
3098 0 0 unless (defined $$param_map{$structure_param}[1])
3100 0 0 if $$options{'debug'}
3113 7 436 unless (exists $$param_map{$param})
3114 5 2 unless $$options{'parent_global_vars'} or $$options{'global_vars'}
3118 1 1 if (reftype $value eq 'ARRAY') { }
0 1 elsif (reftype $value eq 'HASH') { }
3122 0 0 $$options{'structure_vars'} ? :
3137 27 411 if (defined $value_type and length $value_type and $value_type eq 'ARRAY' || !(reftype($value) =~ /^(CODE)|(HASH)|(SCALAR)$/) && UNIVERSAL::isa($value, 'ARRAY')) { }
2 409 elsif (defined $value_type and length $value_type and $value_type eq 'HASH' and UNIVERSAL::isa($value, 'HASH')) { }
3138 0 27 unless ref $$param_map{$param} eq 'HTML::Template::LOOP'
3140 1 26 if (scalar @$value > 0 and reftype($$value[0]) ne 'HASH')
3141 0 1 unless $$options{'scalar_loops'}
3153 1 1 $$options{'structure_vars'} ? :
3160 0 409 unless ref $$param_map{$param} eq 'HTML::Template::VAR'
3180 228 10 if $type eq 'HTML::Template::VAR'
3182 10 228 if $type eq 'HTML::Template::LOOP'
3192 1 1 unless ref $cgi eq 'CGI'
3241 0 460 unless @_ % 2 == 0
3246 0 460 if ($$options{'param_debug'})
3251 0 0 defined $v ? :
3256 0 460 if $$options{'memory_debug'}
3259 0 460 if $$options{'debug'}
3262 0 460 if ($$options{'stack_debug'})
3268 0 460 if ($$options{'profile'})
3278 6 454 if $$options{'global_vars'}
3282 20 440 if (scalar @{$$options{'associate'};})
3285 18 16 if defined $self->param($param)
3288 11 9 if (scalar @undef_params)
3291 10 1 if ($$options{'case_sensitive'} or grep({not /^1/;} map({UNIVERSAL::isa($_, 'HTML::Template');} @{$$options{'associate'};})) == 0) { }
3295 8 15 unless defined $value
3309 0 1 unless defined $associated_param
3311 0 1 unless defined $value
3359 1 459 if defined $args{'print_to'} and not tied $args{'print_to'}
3362 0 460 if $$options{'recursive_templates'} and $args{'print_to'}
3371 946 814 if ($type eq 'SCALAR') { }
9 805 elsif ($type eq 'HTML::Template::VAR' and reftype $$HTML::Template::line eq 'CODE') { }
189 616 elsif ($type eq 'HTML::Template::VAR') { }
33 583 elsif ($type eq 'HTML::Template::LOOP') { }
370 213 elsif ($type eq 'HTML::Template::COND') { }
113 100 elsif ($type eq 'HTML::Template::NOOP') { }
25 75 elsif ($type eq 'HTML::Template::DEFAULT') { }
75 0 elsif ($type and UNIVERSAL::isa($HTML::Template::line, 'HTML::Template::ESCAPE')) { }
3374 9 0 if (defined $$HTML::Template::line) { }
0 0 elsif ($$options{'die_on_unset_params'}) { }
3375 1 8 if ($$options{'force_untaint'}) { }
3377 1 0 if tainted $tmp
3387 179 10 if (defined $$HTML::Template::line) { }
0 10 elsif ($$options{'die_on_unset_params'}) { }
3388 1 178 if ($$options{'force_untaint'} and tainted $$HTML::Template::line)
3391 178 0 unless ref $HTML::Template::line eq 'HTML::Template::UNDEF' or ref $$HTML::Template::line eq 'HTML::Template::UNDEF'
3395 0 0 if "$HTML::Template::line" ne "$value"
3396 0 0 if $$options{'die_on_unset_params'} == 1
3402 27 6 if (defined $$HTML::Template::line[1]) { }
0 6 elsif ($$options{'die_on_unset_params'}) { }
3404 0 27 if $@
3409 0 0 if "$HTML::Template::line" ne "$value"
3410 0 0 if $$options{'die_on_unset_params'} == 1
3416 124 246 if ($$HTML::Template::line[5]) { }
3419 11 235 if ($$HTML::Template::line[2]) { }
3420 11 0 if ($$HTML::Template::line[1] == 0) { }
3421 10 1 if (defined ${$$HTML::Template::line[0];}) { }
0 1 elsif ($$options{'die_on_unset_params'}) { }
3422 1 9 if (reftype ${$$HTML::Template::line[0];} eq 'CODE') { }
0 9 elsif (ref ${$$HTML::Template::line[0];} eq 'HTML::Template::UNDEF') { }
3423 0 1 if &${$$HTML::Template::line[0];}($self)
3427 4 5 if ${$$HTML::Template::line[0];}
3432 0 0 if '' . $$HTML::Template::line[0] ne "$value"
3433 0 0 if $$options{'die_on_unset_params'} == 1
3441 0 0 if defined $$HTML::Template::line[0][1] and scalar @{$$HTML::Template::line[0][1];}
3444 233 2 if ($$HTML::Template::line[1] == 0) { }
3445 226 7 if (defined ${$$HTML::Template::line[0];}) { }
0 7 elsif ($$options{'die_on_unset_params'}) { }
3446 201 25 if (reftype ${$$HTML::Template::line[0];} eq 'CODE') { }
0 25 elsif (ref ${$$HTML::Template::line[0];} eq 'HTML::Template::UNDEF') { }
3447 91 110 unless &${$$HTML::Template::line[0];}($self)
3451 8 17 unless ${$$HTML::Template::line[0];}
3456 0 0 if '' . $$HTML::Template::line[0] ne "$value"
3457 0 0 if $$options{'die_on_unset_params'} == 1
3467 1 1 unless defined $$HTML::Template::line[0][1] and scalar @{$$HTML::Template::line[0][1];}
3478 21 4 if ref $HTML::Template::line and UNIVERSAL::isa($HTML::Template::line, 'HTML::Template::ESCAPE')
3481 4 21 if (defined $$HTML::Template::line) { }
3491 0 75 if ($line_type eq 'SCALAR') { }
4 71 elsif ($line_type eq 'HTML::Template::VAR' and reftype $$HTML::Template::line eq 'CODE') { }
71 0 elsif ($line_type eq 'HTML::Template::VAR') { }
0 0 elsif ($line_type and $HTML::Template::line->can('output')) { }
3494 0 4 if ($$options{'force_untaint'}) { }
3496 0 0 if tainted $tmp
3503 71 0 if (defined $$HTML::Template::line)
3504 0 71 if ($$options{'force_untaint'} > 1 and tainted $$HTML::Template::line)
3511 0 0 if ($$options{'force_untaint'} > 1 and tainted $tmp)
3519 0 75 if ($$options{'force_untaint'} > 1 and tainted $tmp)
3526 0 0 if defined $output and length $output
3527 0 0 if defined $jump_address
3532 6 452 if $$options{'global_vars'}
3535 0 458 if (@unset_params > 0)
3541 0 458 if ($$options{'profile'})
3549 0 458 if $$options{'memory_debug'}
3554 1 457 if defined $args{'print_to'}
3560 1 456 if ($$options{'recursive_templates'} and $$output =~ /<(?:\!--\s*)?[Tt][Mm][Pp][Ll]_/)
3561 0 1 if $$options{'profile'}
3566 4 34 if $skip{$_}
3567 1 33 unless defined $$options{$_}
3583 0 1 if $@
3589 1 456 if ($args{'by_reference'}) { }
3686 0 6 if $$self{'options'}{'debug'}
3689 0 6 unless scalar @_
3691 0 6 if scalar(@_) % 2
3693 0 6 if scalar @_ != 2
3697 0 6 unless $opt eq 'name' or $opt eq 'loop'
3701 3 3 unless ref $path
3705 0 6 unless scalar @objs
3709 3 3 if ($opt eq 'name') { }
3 0 elsif ($opt eq 'loop') { }
3713 0 3 unless defined $obj
3714 1 2 if $type eq 'HTML::Template::VAR'
3715 2 0 if $type eq 'HTML::Template::LOOP'
3722 1 3 unless defined $obj and $type eq 'HTML::Template::LOOP'
3739 0 14 $$self{'options'}{'case_sensitive'} ? :
3743 3 11 unless defined $obj
3747 8 3 unless @_
3748 0 3 unless $type eq 'HTML::Template::LOOP'
3796 0 27 unless defined $value_sets_array
3798 7 20 if ($loop_context_vars) { }
3802 7 16 if ($count == 0) { }
6 10 elsif ($count == $#{$value_sets_array;}) { }