in reply to copy a file from ftp to clients hard drive

* The argument to Net::FTP->new() is the hostname, which should be an IP address (e.g. '26.190.158.98') or a hostname (e.g. 'ftp.yourhost.com'). So it looks to me like your "bad hostname" error message is correct and your hostname is just malformed.
* Should probably change $File to something like $ftp so it's not misleading.

for reference, from Net::FTP docs (looks like this is exactly the functionality you need):
use Net::FTP; $ftp = Net::FTP->new("some.host.name", Debug => 0); $ftp->login("anonymous",'-anonymous@'); $ftp->cwd("/pub"); $ftp->get("that.file"); $ftp->quit;

Update: Btw, you said you wanted to go from a ftp server to a client machine, but your sample code has a put() call and not a get() ....