Put $ftp->binary() before the transfer. From the tests
I ran on Linux <-> Linux it would default to an ascii
transfer. And running ftp direct, defaulted to binary.
update: Hmm. A few questions/observations
I did notice that CPAN uses
Net::FTP. Not sure if that helps you at all, but
may make an OK test
It wasn't clear if you tested only the ftp
code.
Are you sure the file transfer has completed on
the webserver before the ftp transfer happens? That
could explain the truncation.