App-Task
view release on metacpan or search on metacpan
lib/App/Task.pm view on Meta::CPAN
{
autoflush => { stdout => 1, stderr => 1 },
carp_open3_errors => 1,
close_stdin => 1,
}
);
return $rv;
}
sub _escape {
my ( $str, $leave_slashes ) = @_;
$str =~ s/\\/\\\\/g unless $leave_slashes;
$str =~ s/\n/\\n/g;
$str =~ s/\t/\\t/g;
return $str;
}
sub _indent {
lib/App/Task.pm view on Meta::CPAN
local *ORIGOUT = *ORIGOUT;
local *ORIGERR = *ORIGERR;
my ( $o, $e ) = tie_task();
my $task = $code;
my $type = ref($code);
if ( $type eq 'ARRAY' ) {
my $disp = join " ", map {
my $copy = "$_";
$copy = _escape( $copy, 1 );
if ( $copy =~ m/ / ) { $copy =~ s/'/\\'/g; $copy = "'$copy'" }
$copy
} @{$code};
if ( $ENV{App_Task_DRYRUN} ) {
$task = sub { print "(DRYRUN) ï¼ï¼¿ $disp\n" };
}
else {
$task = $cmdhr->{fatal} ? sub { _sys( @{$code} ) or die "`$disp` did not exit cleanly: $?\n" } : sub { _sys( @{$code} ) };
}
}
elsif ( !$type ) {
my $disp = _escape( $code, 0 );
if ( $ENV{App_Task_DRYRUN} ) {
$task = sub { print "(DRYRUN) ï¼ï¼¿ $disp\n" };
}
else {
$task = $cmdhr->{fatal} ? sub { _sys($code) or die "`$disp` did not exit cleanly: $?\n" } : sub { _sys($code) };
}
}
my $cur_depth = $depth;
local $depth = $depth + 1;
( run in 0.339 second using v1.01-cache-2.11-cpan-73692580452 )