in reply to Problem with Hash when Using Strict

You are putting two different kinds of data into %hash. See line
44 $hash{site} = $ftp_siebel_dns;
This is a string and not a hash reference. Probably this line is left-over from earlier testing?