Branch Coverage

blib/lib/File/Tee.pm
Criterion Covered Total %
branch 40 114 35.0


line true false branch
20 0 1 unless @_ >= 2
30 1 2 ref $arg eq 'CODE' ? :
2 3 ref $arg eq 'HASH' ? :
40 3 2 unless (defined $target{'process'})
48 0 5 if %opts
50 3 2 unless (defined $target{'process'})
51 1 2 if (defined $target{'reopen'}) { }
0 2 elsif (not defined $target{'open'}) { }
52 0 1 if defined $target{'open'}
61 3 0 unless defined $target{'autoflush'}
63 3 0 unless ref $target{'open'} eq 'ARRAY'
65 3 0 unless (defined $target{'mode'})
66 0 3 if (ref $target{'open'}[0]) { }
67 0 0 if (ref $target{'open'}[0] eq 'CODE') { }
71 0 0 defined $last_mode ? :
77 0 2 defined $last_mode ? :
2 1 unless length $mode
78 0 3 if $mode eq '|'
80 2 1 if length $fn
87 0 3 unless $target{'mode'} =~ /^(?:>{1,2}&?|\|-|CODE)$/
90 1 2 unless (@{$target{'open'};} > 0)
91 1 0 if (ref $arg ne 'HASH' and @_) { }
92 0 1 if ($target{'mode'} eq '|-') { }
105 0 3 if $target{'mode'} =~ tr/&//
108 3 0 unless ($target{'mode'} eq '|-')
109 0 3 unless open my $teefh, $target{'mode'}, @{$target{'open'};}
112 1 2 if ($target{'reopen'}) { }
114 0 1 unless close $teefh
119 2 0 if ($target{'autoflush'})
133 0 1 unless defined $fileno
136 0 1 unless (defined $fileno)
146 0 1 unless open my $out, ">&$fileno"
153 0 1 unless ($pid)
154 0 0 unless defined $pid
168 0 0 if $begin
174 0 0 if ($read) { }
183 0 0 if ($eol >= 0) { }
0 0 elsif ($eof) { }
196 0 0 if $$target{'preprocess'}
197 0 0 if length $$target{'prefix'}
199 0 0 if ($process) { }
202 0 0 unless $ok or $$target{'ignore_errors'}
206 0 0 unless ($teefh)
208 0 0 if (open $teefh, $$target{'mode'}, @{$$target{'open'};}) { }
209 0 0 unless ($$target{'reopen'})
211 0 0 if ($$target{'autoflush'})
219 0 0 unless $$target{'ignore_errors'}
223 0 0 if $$target{'lock'}
225 0 0 if $$target{'lock'}
227 0 0 if ($$target{'reopen'})
228 0 0 unless (close $teefh)
229 0 0 unless $$target{'ignore_errors'}
241 0 0 if $end
244 0 0 if ($teefh)
245 0 0 unless (close $teefh)
246 0 0 unless $$target{'ignore_errors'}
251 0 0 unless close $out