It might be worth turning on debugging by setting "Debug" to 1 when creating the Net::FTP object. If you do that and then post the output for a bad file maybe we can be of more help.
Good to see someone using Perl to handle Ericsson switch backups :-)