in reply to Get result STDOUT of exe into scalar/array instead of file

Update:

Just to give an example of Open3:

use IPC::Open3; use strict; use warnings; my $pid = open3(\*WRITER, \*READER, \*ERROR, "netstat"); while (my $line = <READER>) { print $line; } waitpid($pid, 0);

Original

If you are running your program thru a shell that supports pipe (like win32, unix etc.), there is almost no extra coding on your side:

use strict; use warnings; while (<>) { print "[", $_, "]\n";#in your case, you would save this to an arra +y, or if you want scalar reset local $/ }

For example, if you are running win32, you can do something like this:

dir|perl -w foo.pl

If you really mean STDOUT, not a mixture of STDOUT and STDERR, then take a look at IPC::Open3.