When a Net::FTP operation fails, you really want to get
the error details so you know what failed. It always takes
me a while to find the details in the Net::FTP docs so I
thought I'd post here:
Initial Connection: the connection is established
when you create the object. If the connect fails, new()
will return undef and the error message will be in
$@:
my $ftp = Net::FTP->new($destserv) ||
die "Connect to $destserv failed: $@";
Commands: if a command fails, the method return
value will be undef. The error message can be accessed
using the 'message()' method. If you're checking for a
particular message, you might be better off using the
'code()' method to get the three digit FTP protocol status
code which preceded the message:
$ftp->get($file) ||
die "get($file) failed: " . $ftp->code() . ": " . $ftp->message();