in reply to Unable to capture STDOUT from system command
Depending on what you're wanting to accomplish, you can go with a "quick, dirty" method (or at least that's how I think about it). You can use back ticks to execute a command and capture the STDOUT from the executed command.
For example, the code below runs the cat command on the /proc/cpuinfo file and stores the STDOUT in the variable $procinfo.
my $procinfo = `cat /proc/cpuinfo`;
There are two potential problems with this method. First, this will cause your Perl script to wait until the called command is done before continuing. Second, I'm unaware of how to use this method to get STDERR data (unless you're piping STDERR to STDOUT inside of the back ticks, but I haven't tried that myself, so warranties or guarantees offered on that suggestion).
Anyways, thought you might like to know of an alternative method that might work for you that involves fewer lines of code.