Condition Coverage

blib/lib/Importer.pm
Criterion Covered Total %
condition 126 175 72.0


and 2 conditions

line l !l condition
493 0 10 push @sets, $arg and next
739 81 5 defined *{"${from}::$_";}{$HEAVY_VARS{$_}} and return 0

and 3 conditions

line !l l&&!r l&&r condition
28 0 0 0 @_ and $NUMERIC{substr $_[0], 0, 1}
62 0 11 4 @_ and $NUMERIC{substr $_[0], 0, 1}
286 0 13 14 @caller and not $caller[0]->isa('Importer')
320 22 110 3 $for and $for ne $into
347 3 5 1 $got{'export_gen'} and $got{'generate'}
398 0 25 7 $export_gen and keys %$export_gen
410 29 230 7 $sig eq '&' and $export_gen->{$name}
411 259 0 0 $got->{'generate'} and &$generate("$sig$name")
434 0 1 1 $INC{'Exporter.pm'} and $f_import
1 0 1 $INC{'Exporter.pm'} and $f_import and $f_import == \&Exporter::import
552 0 12 3 $spec and keys %$spec
557 2 0 1 $spec->{'-as'} and @$cimp > 1
565 0 4 1 $spec->{'-prefix'} and $cspec->{'-prefix'}
566 2 2 1 $spec->{'-postfix'} and $cspec->{'-postfix'}
584 154 0 2 $lead eq '/' and $arg =~ m[^/(.*)/$]
603 150 2 1 $spec->{'-as'} and @list > 1
670 0 126 1 $ref and $type ne $SIG_TO_SLOT{$sig}
675 122 1 3 $$exclude{"$sig$name"} and not $spec->{'-as'}
757 0 3 46 !ref($_) && ($allowed{$_} || substr($_, 0, 1, '') eq '&' && $allowed{$_})

or 2 conditions

line l !l condition
154 34 16 $params{'caller'} || [caller()]
298 15 0 $caller->[1] || 'unknown file'
299 15 0 $caller->[2] || 'unknown line'
307 2 0 $caller->[1] || 'unknown file'
308 2 0 $caller->[2] || 'unknown line'
339 5 4 $got{'export'} ||= []
340 6 3 $got{'export_ok'} ||= []
341 5 4 $got{'export_tags'} ||= {}
342 5 4 $got{'export_fail'} ||= []
343 6 3 $got{'export_anon'} ||= {}
344 0 9 $got{'export_magic'} ||= {}
349 5 3 $got{'export_gen'} ||= {}
377 32 0 $got->{'export'} || []
378 32 0 $got->{'export_ok'} || []
379 32 0 $got->{'export_tags'} || {}
380 32 0 $got->{'export_fail'} || []
381 32 0 $got->{'export_anon'} || {}
382 32 0 $got->{'export_gen'} || {}
383 32 0 $got->{'export_magic'} || {}
390 3 4 $sig ||= '&'
398 0 7 $generate ||= sub { my $symbol = shift(); my($sig, $name) = $symbol =~ /^(\W?)(.*)$/; $sig ||= '&'; my $do = $$export_gen{"$sig$name"}; $do ||= $export_gen->{$name} if not $sig or $sig eq '&'; return undef unless $do; $from->$do($into, $symbol); }
404 43 230 $sig ||= '&'
443 1 30 $tags->{'ALL'} ||= [sort(grep({/^[\&\$\@\%\*]/;} keys %$lookup))]
448 3 21 $sig ||= '&'
643 24 0 $custom_set || eval qq[# Inherit the callers warning settings. If they have warnings and we\n# redefine their subs they will hear about it. If they do not have warnings\n# on they will not.\nBEGIN { \${^WARNING_BITS} = \$caller->[9] if defined \$caller->[9] }\n#line $caller->[2] "$caller->[1]"\nsub { *{"$into\\::\$_[0]"} = \$_[1] }\n] || die($@)
677 2 121 $spec->{'-prefix'} || ''
2 121 $spec->{'-postfix'} || ''
757 41 5 *{"${from}::$_";}{'CODE'} || (return 0)

or 3 conditions

line l !l&&r !l&&!r condition
263 2 3 0 $self->{'from_file'} ||= _mod_to_file($self->{'from'})
321 110 25 0 $self->{'menu'} || $self->reload_menu($into)
393 3 3 1 $do ||= $export_gen->{$name}
0 7 0 not $sig or $sig eq '&'
421 15 244 0 $export_anon->{$sym} || ($sig eq '&' ? \&{$fqn;} : ($sig eq '$' ? \${$fqn;} : ($sig eq '@' ? \@{$fqn;} : ($sig eq '%' ? \%{$fqn;} : ($sig eq '*' ? \*{$fqn;} : (next))))))
429 8 14 10 $new_style || $from->can('import')
434 8 21 3 $new_style or keys %$exports
29 1 2 $new_style or keys %$exports or $from->isa('Exporter')
22 2 0 $new_style or keys %$exports or $from->isa('Exporter') or $INC{'Exporter.pm'} and $f_import and $f_import == \&Exporter::import
482 47 0 0 $menu ||= $main_menu
502 16 25 6 $is_tag or @$args
41 0 6 $is_tag or @$args or @versions
526 3 0 2 @import or keys %exclude
3 0 2 @import or keys %exclude or @versions
659 12 2 1 $ref ||= $menu->{'generate'}->($symbol)
664 127 0 1 $ref or $menu->{'lookup'}{"$sig$name"}
677 2 121 0 $spec->{'-as'} || $name
690 0 1 101 $magic ||= $menu->{'magic'}{$name}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
494 0 0 0 0 push @versions, $arg xor next