use Net::OpenSSH; use Net::OpenSSH::Constants qw(:error); ... my ($output, $errput) = $ssh->capture2({tty => 1}, $xxx); if ($ssh->error and $ssh->error != OSSH_SLAVE_CMD_FAILED) { die "remote ls command failed: " . $ssh->error; } print "OUT: $output\n"; print "ERR: $errput\n"; print "RC: $?\n";