use Capture::Tiny ':all'; my ($stdout, $stderr, $exit) = capture { qx/ls -al file-does-not-exist/ };