| line |
l |
!l |
condition |
|
80
|
0 |
2 |
delete $_[0]{'dir'} or Carp::confess('Sys::Cmd dir: ' . $@) |
|
105
|
98 |
0 |
$_[0]{'cmd'} // undef |
|
106
|
8 |
24 |
$_[0]{'dir'} // undef |
|
119
|
49 |
13 |
$_[0]{'env'} // undef |
|
120
|
3 |
4 |
$_[0]{'err'} // undef |
|
121
|
3 |
4 |
$_[0]{'exit'} // undef |
|
122
|
8 |
23 |
$_[0]{'input'} // undef |
|
123
|
0 |
0 |
$_[0]{'log_any'} // undef |
|
132
|
0 |
0 |
$_[0]{'mock'} // undef |
|
137
|
2 |
30 |
$_[0]{'on_exit'} // undef |
|
139
|
4 |
3 |
$_[0]{'out'} // undef |
|
215
|
28 |
13 |
$opts //= {} |
|
278
|
30 |
0 |
fileno $child_in || die("open: $!") |
|
279
|
30 |
0 |
fileno $child_out || die("open: $!") |
|
280
|
30 |
0 |
fileno $child_err || die("open: $!") |
|
296
|
30 |
0 |
fileno $old_fd0 || die("open: $!") |
|
297
|
30 |
0 |
fileno $old_fd1 || die("open: $!") |
|
298
|
30 |
0 |
fileno $old_fd2 || die("open: $!") |
|
302
|
180 |
0 |
close $_ or die "close: $!" |
|
322
|
2 |
0 |
shift() // die("need encoding") |
|
323
|
2 |
0 |
shift() // die("need code") |
|
397
|
49 |
13 |
$self->env // {} |
|
407
|
8 |
0 |
chdir $dir or die "chdir: $!" |
| line |
l |
!l&&r |
!l&&!r |
condition |
|
38
|
0 |
35 |
0 |
ref $class || $class |
|
39
|
33 |
2 |
0 |
$_NEW{$CLASS} //= do {
my(%seen, @new, @build);
my(@possible) = $CLASS;
while (@possible) {
my $c = shift @possible;
no strict 'refs';
push @new, $c . '::_NEW' if exists &{$c . '::_NEW';};
push @build, $c . '::BUILD' if exists &{$c . '::BUILD';};
++$seen{$c};
if (exists &{$c . '::DOES';}) {
push @possible, grep({not $seen{$_}++;} $c->DOES("*"));
};
push @possible, grep({not $seen{$_}++;} @{$c . '::ISA';});
};
[[reverse(@new)], [reverse(@build)]]
} |
|
77
|
0 |
0 |
0 |
delete $_[0]{'cmd'} or Carp::confess('Sys::Cmd cmd: ' . $@) |
|
84
|
0 |
0 |
0 |
delete $_[0]{'encoding'} or Carp::confess('Sys::Cmd encoding: ' . $@) |
|
88
|
0 |
0 |
0 |
delete $_[0]{'env'} or Carp::confess('Sys::Cmd env: ' . $@) |
|
91
|
0 |
0 |
0 |
delete $_[0]{'mock'} or Carp::confess('Sys::Cmd mock: ' . $@) |
|
103
|
0 |
2 |
30 |
$_[0]{'_coderef'} //= $Sys::Cmd::_FIELDS->{'_coderef'}{'default'}->($_[0]) |
|
110
|
33 |
32 |
0 |
$_[0]{'encoding'} //= eval {
do {
$Sys::Cmd::_FIELDS->{'encoding'}{'isa'}->($Sys::Cmd::_FIELDS->{'encoding'}{'default'})
}
} |
|
114
|
0 |
0 |
0 |
delete $_[0]{'encoding'} or Carp::confess('invalid (Sys::Cmd::encoding) default: ' . $@) |
|
128
|
0 |
0 |
0 |
delete $_[0]{'mock'} or Carp::confess('invalid (Sys::Cmd::mock) value: ' . $@) |
|
233
|
1 |
2 |
2 |
File::Which::which($cmd[0]) || _croak('command not found: ' . $cmd[0]) |