There has probably been a change on your system above and beyond what you note (a firewall perhaps?) that has broken your script although it could relate to changes in Net::FTP interface. Hard to say without any code or what version you were using and now have. If you check out the Net::FTP docs you will find:
CONSTRUCTOR
new (HOST [,OPTIONS])
This is the constructor for a new Net::FTP object. HOST is the name of
+ the remote host to which a FTP connection is required.
OPTIONS are passed in a hash like fashion, using key and value pairs.
+Possible options are:
Firewall - The name of a machine which acts as a FTP firewall. This ca
+n be overridden by an environment variable FTP_FIREWALL. If specified
+, and the given host cannot be directly connected to, then the connec
+tion is made to the firewall machine and the string @hostname is appe
+nded to the login identifier. This kind of setup is also refered to a
+s a ftp proxy.
Port - The port number to connect to on the remote machine for the FTP
+ connection
Timeout - Set a timeout value (defaults to 120)
Debug - debug level (see the debug method in the Net::Cmd manpage)
Passive - If set to a non-zero value then all data transfers will be d
+one using passive mode. This is not usually required except for some
+dumb servers, and some firewall configurations. This can also be set
+by the environment variable FTP_PASSIVE.
If the constructor fails undef will be returned and an error message w
+ill be in $@
If you then check out the Net::Cmd docs you will see that setting the degug level to true should direct a full transaction log to STDERR giving you details of the problem more enlightening than the timout error you get currently from $@. With the cause of the timeout then evident a solution should be easier to find.
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
|