in reply to Capturing the stdout and exit code from a program piped to perl
I'd pass the path of the binary to the script
./myscript.pl ./somebinary
like this Perl has the path to be called in $ARGV[0] and can capture the exit code and STDOUT and STDERR.
Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
try either
my $path = $ARGV[0]; open my $fh, "-|", "$path 2>&1" or die "can't open $path: $!"; print ": $_" for <$fh>; # print line by line close $fh;
or
my $x= `$path 2>&1`; print "<<< $x >>>"; # print whole slurp
the 2>&1 part redirects STDERR to STDOUT.
print ": exitcode" , $? >>8; will show the exitcode (see perlvar )
all in all a bit fiddly, maybe the modules AnoMonk suggested are more reliable.
|
|---|