in reply to Net::FTP troubles

Quick comment: in your code you've got the line:
$IP="$Server{$key}";
This can (and probably should) be:
$IP=$server{$key};
Quotes tell perl to create a string - but the value in the server hash is already a string, so they're unnecessary. Read
perldoc -q quoting
for more info.