http://www.perlmonks.org?node_id=734359


in reply to Problems with Net::FTP

The "binary" call generates an instruction to the remote host to disable line ending translation. You cannot alter the state of the "ftp connection" until you authenticate. Hence, you need to put the "binary" call after the login, but it should not be necessary to put it inside the loop.