use Net::FTP; my ($dropzone,$path,$l,$p,$filename)=@_; $ftpobj = Net::FTP -> new ($dropzone, Timeout => 1200, Debug => 1,Passive => 0)or die "Cannot connect to $dropzone: $!"; $ftpobj -> login($l,$p)or die "Cannot login to ftp ", $ftpobj->message; $ftpobj -> cwd ($path) or die "$!: No Such path $path"; $ftpobj ->binary; $ftpobj -> put ("$filename") or die "copy failed for $filename...$!\n", $ftpobj->message; .......... #### Net::FTP>>> Net::FTP(2.77) Net::FTP>>> Exporter(5.63) Net::FTP>>> Net::Cmd(2.29) Net::FTP>>> IO::Socket::INET(1.31) Net::FTP>>> IO::Socket(1.31) Net::FTP>>> IO::Handle(1.28) Net::FTP=GLOB(0x1db55b4)<<< 220 Microsoft FTP Service Net::FTP=GLOB(0x1db55b4)>>> USER Abc Net::FTP=GLOB(0x1db55b4)<<< 331 Password required for Abc. Net::FTP=GLOB(0x1db55b4)>>> PASS .... Net::FTP=GLOB(0x1db55b4)<<< 230 User Abc logged in. Net::FTP=GLOB(0x1db55b4)>>> CWD /directory1/directory3/Assets/directory4 Net::FTP=GLOB(0x1db55b4)<<< 250 CWD command successful. Net::FTP=GLOB(0x1db55b4)>>> TYPE I Net::FTP=GLOB(0x1db55b4)<<< 200 Type set to I. Net::FTP=GLOB(0x1db55b4)>>> ALLO 296490288 Net::FTP=GLOB(0x1db55b4)<<< 200 ALLO command successful. Net::FTP=GLOB(0x1db55b4)>>> PORT 10,w,x,y,z,0 Net::FTP=GLOB(0x1db55b4)<<< 200 PORT command successful. Net::FTP=GLOB(0x1db55b4)>>> STOR 1-1112-1356-01_Test_Data_1-1112-1356TX_V_800.tmp Net::FTP=GLOB(0x1db55b4)<<< 150 Opening BINARY mode data connection for 1-1112-1356-01_Test_Data_1-1112-1356TX_V_800.tmp. Net::FTP=GLOB(0x1db55b4)>>> ‗ABOR Net::FTP=GLOB(0x1db55b4)<<< 426 Connection closed; transfer aborted. Net::FTP=GLOB(0x1db55b4)<<< 421 Timeout (120 seconds): closing control connection. copy failed for Package/1-1112-1356-01_Test_Data_1-1112-1356TX_V_800.tmp... Connection closed; transfer aborted. Timeout (120 seconds): closing control connection.