* 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() ....