in reply to Re^2: problem with put function
in thread problem with put function

my code is here
sub FtpToDCLKServer(\%$\$\$) {
my $V_ConfigHashRef = shift;
my $V_LocalFile = shift;
my $V_RemoteFileNameRef = shift;
my $V_RemoteFileSizeRef = shift;
my $V_CurrentDate = GetTheCurrentDate(); #get today's date
my $V_HostName = $V_ConfigHashRef->{FTPHostName}; #get ftp hostname from the hash
my $V_UserName = $V_ConfigHashRef->{FTPUserName}; #get ftp user name from the hash
my $V_Password = $V_ConfigHashRef->{FTPPassword}; #get ftp password from the hash
my $V_Directory = $V_ConfigHashRef->{FTPDir}; #get the ftp directory on to which we have to place the files
my $V_Ftp;
if ( $V_Ftp = Net::FTP->new($V_HostName) ) { #instantiate new ftp object
unless ($V_Ftp->login($V_UserName,$V_Password)) { #login to the ftp server
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not login:$@");
return 0;
$V_Ftp->pasv(); #continue the session in passive mode
unless ($V_Ftp->cwd($V_Directory)) { #change the current working directory to $V_Directory
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not change the current working directory to $V_Directory");
return 0;
unless($V_Ftp->ascii) { #transfer the data in ascii mode
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not change to ASCII mode");
return 0;
unless ($$V_RemoteFileNameRef = $V_Ftp->put($V_LocalFile,"Curve_"."$V_CurrentDate"."\.dat")) { #upload the file
return 0;
$$V_RemoteFileSizeRef = $V_Ftp->size($$V_RemoteFileNameRef);
$V_Ftp->close(); #close the ftp session
}else {
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not connect:$@");
return 0;
return 1;

Replies are listed 'Best First'.
Re^4: problem with put function
by BrowserUk (Pope) on Oct 12, 2004 at 12:42 UTC

    You don't say whether you are seeing this problem on every connection you make, or just those at one server?

    I'm no ftp expert, but I'd try your code without the call to pasv() and see how you get on?

    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail
    "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon