in reply to Re^2: copying a file
in thread copying a file

You stated that you wanted to copy it to c:\ But you do a:
$ftp->get("$file","/doytest/cgi-bin/Data/Temp/$fileB");
which give you an error, that it can't find the local file:
Cannot open Local file /doytest/cgi-bin/00000001.610: No such file or +directory
So I assume you will have to change the second argument in the get to
$ftp->get("$file","c:/Temp/$fileB");

.:| If it can't be fixed .. Don't break it |:.

Replies are listed 'Best First'.
Re^4: copying a file
by Doyle (Acolyte) on May 20, 2005 at 16:12 UTC
    Here is the modified code:
    use strict; use warnings; use diagnostics; use Net::FTP; use Sys::Hostname; my $hostname = hostname(); my $file = '00000001.610'; my $fileB = '00000002.610'; my $host = $hostname; my $user = '*******'; my $pass = '*******'; my $dir = '/doytest/cgi-bin/'; my $ftp = Net::FTP->new($host, Debug => 1); $ftp->login($user,$pass); #$ftp->cwd($dir); $ftp->get("$file","c:/Temp/$fileB"); $ftp->quit;
    This is the message I get after running the script;
    Net::FTP=GLOB(0x1832724)<<< 220 Serv-U FTP Server v6.0 for WinSock rea +dy... Net::FTP=GLOB(0x1832724)>>> user jv34n Net::FTP=GLOB(0x1832724)<<< 331 User name okay, need password. Net::FTP=GLOB(0x1832724)>>> PASS .... Net::FTP=GLOB(0x1832724)<<< 230 User logged in, proceed. Net::FTP=GLOB(0x1832724)>>> PORT 206,190,91,17,16,118 Net::FTP=GLOB(0x1832724)<<< 200 PORT Command successful. Net::FTP=GLOB(0x1832724)>>> RETR 00000001.610 Net::FTP=GLOB(0x1832724)<<< 150 Opening ASCII mode data connection for + 00000001.610 (6317 Bytes). Net::FTP=GLOB(0x1832724)<<< 226-Maximum disk quota limited to 51200 kB +ytes Net::FTP=GLOB(0x1832724)<<< Used disk quota 613 kBytes, available +50586 kBytes Net::FTP=GLOB(0x1832724)<<< 226 Transfer complete. Net::FTP=GLOB(0x1832724)>>> QUIT Net::FTP=GLOB(0x1832724)<<< 221 Goodbye!
    But when I look in my C:/Temp folder on my pc, the file isn't there.
      Maybe look in your c: directory.. I don't know much windows, but aren't the forward slashes supposed to be backslashes in windows ?? (I probably got it wrong in my reply ;-) )
      So there might be a file in c: with the name /Temp/0000001.610
      Check that first... or try with the slashes the other way around...
      .:| If it can't be fixed .. Don't break it |:.
      What does get return?