@cmd_arr = ("someprog", "var"); $msg = qx/@cmd_arr 2>&1/; if( $? ) { print "fail $?\n"; print "$msg\n"; } Result: fail -1 Use of uninitialized value in concatenation (.) or string at ./err_cvt.pl line 17.