sub sftp_transfer { my ( $ftp_url, $ftp_user, $ftp_passwd, $ftp_dir, $output_file_path ) = @_; if ( $debug ) { print "&sftp_transfer: "; print "Host: $ftp_url\n"; print "User: $ftp_user\n"; print "Password: $ftp_passwd\n"; print "Dir: $ftp_dir\n"; } my %conn = ( "user" => $ftp_user, "password" => $ftp_passwd, "port" => 2222, "autoflush" => 1 ); my $ftp=Net::SFTP::Foreign->new( $ftp_url, %conn ); if ( $ftp->error ) { $err_occured = 1; $error_msg ="SFTP: Cannot connect to sftp-server $ftp_url: " . $ftp->error; die ( "\n" ) }; $ftp->setcwd( $ftp_dir ) or do { $err_occured = 1; $error_msg = "SFTP: Cannot cd into $ftp_dir: " . $ftp->error; die ( "\n" ) }; my $output_file_name = basename( $output_file_path ); $ftp->put( $output_file_path, $output_file_name ) or do { $err_occured = 1; $error_msg = "SFTP: Cannot upload file $output_file_path: " . $ftp->error; die ( "\n" ) }; } #### &sftp_transfer: Host: example.com User: user Password: *** Dir: /POS/21/2100139 Password Authentication