$ssh{$host} = Net::OpenSSH->new($host, master_opts => [-i => "/path/to/key"]); if(defined $ssh{$host}) { print STDOUT "SSHD is back up. Continuing...\n"; } else { print STDOUT "Still waiting for SSH. Retrying in 5 seconds...\n"; sleep 5; }