krosty has asked for the wisdom of the Perl Monks concerning the following question:
Hi,
I'm trying to get the stdout and stderr from a process executed from my perl script in the following way
Problem is that this works fine exactly the way it is. I'm trying it in a windows xp professional machine with ActivePerl. But when I'm kicking off the command(xcopy, etc.) from a sub which is called from another sub, which in turn is called from another sub, $stdout comes up as an empty string. I'm echoing the values from the sub where the process is kicked off to get around issues related to scope of variables. I'm baffled by this. Does anybody know the answer to this weird behaviour. Will really appreciate it.use IO::CaptureOutput qw/capture/; $cmd = "xcopy /Y /S /E /I /F /R /K $source $dest"; capture { system $cmd } \$stdout, \$stderr; print "Output is : "."\n"."$stdout\n"; print "Error is : "."\n"."$stderr\n"; print "Exit code is : "."\n"."$?\n";
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: get stdout stderr
by Tanktalus (Canon) on Oct 16, 2012 at 22:55 UTC | |
Re: get stdout stderr
by kennethk (Abbot) on Oct 16, 2012 at 20:20 UTC |
Back to
Seekers of Perl Wisdom