in reply to Question on Net::Ftp..

Net::FTP->new(...) error messages are in $@, not $!. After that, messages can be retrieved with the message() method.