use IO::Socket; while () { chomp; print "try to connect to host $_ ...\n"; $sock = new IO::Socket::INET(PeerAddr => $_, PeerPort => 80, Proto => 'tcp', Timeout => 10 ); if (!defined($sock)) { print "failed to connect to host $_\n"; next; } else { print "connected to host $_\n"; } print $sock "GET http://$_ HTTP/1.1\r\n" . "Host: $_\r\n\r\n"; print $_ while (<$sock>); #this will fail to end, if peer does not close the connection close($sock); } __DATA__ www.yahoo.com www.cnn.com www.somethingnotexists.abc