Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Help with Net::FTP module

by runrig (Abbot)
on Jan 08, 2013 at 17:42 UTC ( #1012296=note: print w/replies, xml ) Need Help??


in reply to Help with Net::FTP module

The object is defined, but it won't work anymore, and you should get errors if you try to do anything with it (assuming you are checking for errors). You'll have to reconnect with a new object if you lose the connection.

Replies are listed 'Best First'.
Re^2: Help with Net::FTP module
by spacebar (Beadle) on Jan 09, 2013 at 05:12 UTC
    I would recommend changing the timeout to +240 and check/use return value after each operation, something like:

    sub ftp_put_file { # If rename_file = "Y" transfer file with '.xferring' as extension. if ( $rename_file eq "Y" ) { $file_name_to_xfer = "$file_name" . ".xferring"; } else { $file_name_to_xfer = "$file_name"; } $ftp->put( "${source_directory}/${file_name}", "${file_name_to_xfer} +" ) or $retval = 1; if ($retval == 1) { print "**Error occurred .........etc.\n"; } else { print "**Successfully put file(${source_directory}/${file_name_to_ +xfer}) to host($host).\n"; } return $retval; } # End ftp_put_file()

      I prefer exceptions and including the reason for failure, and I don't care for functions that return non-zero (true) on failure (perl is not 'C' or shell) nor unnecessarily wrapping variables in quotes, so I might write you sub more like (I also would probably pass in arguments and make it self-contained and 'use strict' compliant, but I'll leave that out for now):
      sub ftp_put_file { # If rename_file = "Y" transfer file with '.xferring' as extension. if ( $rename_file eq "Y" ) { $file_name_to_xfer = "$file_name.xferring"; } else { $file_name_to_xfer = $file_name; } $ftp->put( "$source_directory/$file_name", $file_name_to_xfer ) or d +ie "Failed to transfer $source_directory/$file_name: ".$ftp->message( +); print "**Successfully put file($source_directory/$file_name_to_xfer) + to host($host).\n"; return 1; } # End ftp_put_file()

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1012296]
help
Chatterbox?
[LanX]: dammit. ... I'm again stressed to compensate the stupidity of my colleagues. ...
[erix]: relax, LanX it takes all sorts ;)
[LanX]: I have a tight schedule and some keep changing the data model claiming I could adapt easily
[erix]: we're there to improve the average ;P
[erix]: ... that does sound pretty annoying...
[LanX]: ny boss is the poster boy of the Peter principle

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (15)
As of 2017-09-22 13:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (264 votes). Check out past polls.

    Notices?