When using Net:FTP as per your example, I get the following error (in debug mode or from the script):
#" Can't locate object method "requires_firewall" via package "Net::Config" at C:/Perl/lib/net/FTP.pm line 52, <IN> line 7."
I've looked at the Net::FTP module, and there is some code RE 'firewall'; my PERL is not strong enough to decypher...