in reply to Capturing both STDOUT, STDERR and exit status

Sysadm::Install provides a function for that:
use Sysadm::Install qw(tap); my($stdout, $stderr, $rc) = tap "/bin/ls", "-l", "foobar"; print "stdout=$stdout\n", "stderr=$stderr\n", "rc=$rc\n";