Condition Coverage

blib/lib/String/Interpolate.pm
Criterion Covered Total %
condition 33 59 55.9


and 3 conditions

line !l l&&!r l&&r condition
425 6 0 0 ref $_ and $_->isa('Safe::Hole')
6 0 0 ref $_ and $_->isa('Safe')
429 1 0 2 not $seenmap++ and $$map
1 1 1 not $seenmap++ and $$map and @$$map
463 8 1 2 $$$self{'implicit_safe'} and not $safe
470 0 1 10 defined $string and not $code
479 3 8 0 $pkg and $pkg eq 'Safe'
486 8 0 3 $safe and not $$$self{'unsafe_underscore'}
490 8 0 3 $safe && !$$$self{'unsafe_symbols'}
524 3 3 3 defined $p and not $p
3 3 0 $p and $p ne '$'
923 0 4 2 defined $un and not $un

or 2 conditions

line l !l condition
475 4 0 join($dlm, @$pos) =~ /^@{[join($dlm, ('(.*)') x @$pos)];}$/ or die 'Unexpected pattern match failure initialising $1 et al'

or 3 conditions

line l !l&&r !l&&!r condition
425 1 2 6 ref $_ eq 'GLOB' or ref \$_ eq 'GLOB'
470 10 1 0 defined $string and not $code or $pos
512 0 0 0 $$$self{'tmppkg'} ||= 'String::Interpolate::' . ++$pkgcount
14 0 0 $pkg ||= ($$$self{'tmppkg'} ||= 'String::Interpolate::' . ++$pkgcount)
610 7 0 0 $pkg ||= $$$self{'defpgk'}
865 0 0 0 $safe_hole or not defined $safe_hole
930 0 0 0 $preset_pragma{$pragma} || $pragma