Try setting the ftp to PASSIVE mode after connecting. You can set it during the connection initiation string if you would like by using it as an %option (read the Net::FTP documentation for specifics).
in reply to Re^2: Net::Ftp->login problem
in thread Net::Ftp->login problem
Here is a reasonable explanation of the difference between Active and Passive ftp and what is happening that might require a PASV connection.
"The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it." - Terry Pratchett