my $host = $delivery->{HOST}; my $ssherr = File::Temp->new or die "File::Temp->new failed"; my %sftp_params = ( 'user' => $delivery->{LOGIN}, 'password' => $delivery->{PASSWORD}, 'more' => ['-v'], 'stderr_fh' => $ssherr, ); if($delivery->{PORT}) { $sftp_params{'port'} = $delivery->{PORT}; } &logPrint("connecting to host '$host' via SFTP"); $sftp = Net::SFTP::Foreign->new($host, %sftp_params); if ($sftp->error) { &logFatal("unable to connect to host '$host': " . $sftp->error); seek($ssherr, 0, 0); while (<$ssherr>) { &logFatal("captured stderr: $_\n"); } return undef; }