#!/usr/bin/env perl use strict; use warnings; use Net::OpenSSH; use Capture::Tiny ':all'; my $host = 'broken'; my $ssh; my ($stdout, $stderr, @result) = capture { $ssh = Net::OpenSSH->new($host); }; print "Captured STDERR: $stderr\n"; $ssh->error and die "Couldn't establish SSH connection: ". $ssh->error; exit; #### Captured STDERR: ssh: Could not resolve hostname broken: nodename nor servname provided, or not known Couldn't establish SSH connection: unable to establish master SSH connection: master process exited unexpectedly at ns.pl line 15.