in reply to Net::FTP
Your $filename probably contains characters which are not valid in filenames on the remote system. This is common when going between Windows, Mac OS, and Unix systems. Some common offenders are -+\/:, and multiple .'s.
In Section
Seekers of Perl Wisdom