Branch Coverage

blib/lib/Interpolation.pm
Criterion Covered Total %
branch 40 66 60.6


line true false branch
79 0 27 if (@_ % 2)
87 0 23 unless $function
89 9 14 if ($hashname =~ /^(.+):([\$\@\*\\]*->[\$\@])$/) { }
93 1 8 if ($type eq '->$')
117 22 13 if ($type eq '' or $type eq '$->$') { }
4 9 elsif ($type eq '$->@') { }
2 7 elsif ($type eq '@->$') { }
2 5 elsif ($type eq '@->@') { }
129 20 15 if (ref $function) { }
130 0 20 unless ref $function eq 'CODE'
134 15 0 if (exists $Interpolation::builtin{$lc_function}) { }
135 3 12 if (exists $Interpolation::needmodules{$lc_function})
137 0 3 if $@
155 1 0 if (not exists $is_scalar{$caller_pack . '::' . $varname}) { }
176 0 30 unless (ref $cref)
177 0 0 unless exists $Interpolation::builtin{lc $cref}
180 0 0 if exists $Interpolation::needmodules{lc $cref}
182 0 0 if $@
222 2 0 if (defined wantarray) { }
253 0 5 unless (ref $cref)
254 0 0 unless exists $Interpolation::builtin{$cref}
268 6 13 if ($par1type eq '\\' and ($par1subtype = chop $type) eq '@') { }
0 13 elsif ($par1type eq '@') { }
275 0 19 if ($type =~ /^(.)>-$/ or $type =~ /\*$/ and $_[0] eq $; and undef @param || 1) { }
277 0 0 if ($1 eq '$') { }
283 14 5 if ($type =~ /\*$/)
303 6 24 if ($par1type eq '\\' and ($par1subtype = chop $$self[0]) eq '@') { }
0 24 elsif ($par1type eq '@' and not $$self[0] =~ /\*$/) { }
311 2 28 if ($$self[0] =~ /^(.)>-$/ or $$self[0] =~ /\*$/ and $_[1] eq $; and pop @$self) { }
314 0 2 if ($1 eq '$') { }
321 28 0 if ($$self[0] =~ /\*$/)
330 17 0 if ($type =~ /^\$/) { }
346 0 1 unless (ref $cref)