Condition Coverage

blib/lib/String/Expando.pm
Criterion Covered Total %
condition 17 40 42.5


and 3 conditions

line !l l&&!r l&&r condition
106 0 17 0 defined $fmt and length $fmt

or 2 conditions

line l !l condition
29 0 3 $self->{'consume_expando'} ||= sub { s/ \A \% ([^%()]*) \( ([^\s()]+) \) //x ? ($2, $1) : (); }
41 0 3 $self->{'consume_literal'} ||= sub { s/\A(.)//s ? $1 : (); }
52 0 3 $self->{'consume_escaped_literal'} ||= sub { s/\A\\(.)// ? $1 : (); }
65 0 1 $self->{'decoder'} || \&String::Expando::decode
75 0 1 $self->{'decoder'} ||= sub { my($self, $code, $stash) = @_; my @parts = split(/$rx/, $code, 0); my $val = $stash; foreach my $part (@parts) { $val = &$part_decoder($self, $part, $val); last unless defined $val; } ; return $val; }
78 0 2 $self->{'decoder'} ||= \&String::Expando::decode
80 0 3 $self->{'stringify'} ||= \&String::Expando::stringify
81 0 3 $self->{'stash'} ||= {}
82 0 3 $self->{'functions'} ||= {}
83 1 2 $self->{'default_hash_keys'} ||= ['', '""', q[']]
152 0 0 $func ||= {}

or 3 conditions

line l !l&&r !l&&!r condition
93 22 0 0 $stash ||= $self->{'stash'}
103 2 47 0 defined($res = &$esc) or defined($res = &$lit)
133 22 3 0 eval { do { $val = $stash->{$code}; 1 } } or eval { do { $val = $stash->[$code]; 1 } }
148 0 0 0 $stash || $self->stash
169 0 0 0 defined $l or defined $r