Branch Coverage

blib/lib/Symbol/Util.pm
Criterion Covered Total %
branch 84 86 97.6


line true false branch
96 170 44 if /^[a-z]/
166 5 163 unless $name =~ /::/
170 96 72 if (defined $slot)
171 2 94 if $slot eq 'SCALAR' and not defined ${*{$name;}{'SCALAR'};}
197 1 44 unless $name =~ /::/
201 1 44 unless defined *{$name;}
206 6 38 if defined *{$name;}{'SCALAR'} and defined ${*{$name;}{'SCALAR'};}
209 68 108 if defined *{$name;}{$slot}
234 1 47 unless $name =~ /::/
237 1 47 unless @slots
241 1 47 unless defined *{$name;}
247 1 50 if $slot eq 'SCALAR' and not defined ${*{$name;}{$slot};}
248 4 46 unless defined *{$name;}{$slot}
253 45 2 $defined ? :
278 1 11 unless $name =~ /::/
284 10 2 if (@slots) { }
289 22 11 unless $delete{$slot}
342 1 30 unless $name =~ /::/
346 1 30 unless defined fetch_glob($name, 'CODE')
365 1 29 %backup ? :
425 32 1 ref $args[0] eq 'HASH' ? :
434 1 32 if @names == 1 and $names[0] eq ''
437 6 26 if not @names or @names and $names[0] =~ /^!/
439 9 23 ref($$spec{'EXPORT'} || '') eq 'ARRAY' ? :
440 22 10 ref($$spec{'OK'} || '') eq 'ARRAY' ? :
441 21 11 ref($$spec{'TAGS'} || '') eq 'HASH' ? :
449 1 61 if ($name =~ m[^/(.*)/$]) { }
1 60 elsif ($name =~ m[^!/(.*)/$]) { }
6 54 elsif ($name =~ /^(!?):DEFAULT$/) { }
6 48 elsif ($name =~ /^(!?):(.*)$/) { }
2 46 elsif ($name =~ /^!(.*)$/) { }
44 2 elsif (defined $export_ok{$name} or defined $export{$name}) { }
463 5 1 if (defined $export_tags{$tag}) { }
486 6 36 if ($name =~ s/^(\W)//)
491 37 5 if ($type eq '&' or $type eq '') { }
1 4 elsif ($type eq '$') { }
1 3 elsif ($type eq '@') { }
1 2 elsif ($type eq '%') { }
1 1 elsif ($type eq '*') { }
511 41 0 if (defined export_glob($target, "${package}::$name", $slot))
560 19 0 if (defined $EXPORTED{$target}{$package})
564 113 32 unless exists $EXPORTED{$target}{$package}{$name}{$slot}
565 28 4 if ($slot eq 'CODE') { }