unless ($sftp->get("$file", "$local/$file")) { if (($sftp->error == SFTP_ERR_REMOTE_STAT_FAILED or $sftp->error == SFTP_ERR_REMOTE_OPEN_FAILED) and $sftp->status == SSH2_FX_NO_SUCH_FILE) { print "Remote file does not exist!"; } else { print "Transfer Failed"; } die $sftp->error; }