my $ftp_1 = Net::FTP->new("server.one.com", Debug => 1, Passive => 1, Timeout => 500) or die "connect failed: $!"; my $ftp2 = Net::FTP->new("server.two.com", Debug => 1, Passive => 1); $ftp1->login("name",'password') or die "login failed: $!"; $ftp2->login("name",'password') or die "login failed: $!"; my $gen_server = "server.one.com"; $ftp1->pwd() or die "pwd failed: $!"; unless (-e $uploaded){die "shit $!";} $ftp1->binary() or die "type failed: $!"; my $port1 = $ftp2->pasv(); my $server_port1 = $ftp2->port($port1); my $size1 = $ftp2->size($path); $ftp2->pasv_xfer($path, $gen_server, $short_name); $ftp1->stor($short_name); $ftp1->quit or die "quit failed: $!";