#!d:/perl/bin/perl.exe use warnings; use strict; use IO::Socket; $SIG{ALRM} = sub { die "timeout" }; eval { alarm(3); my $socket=new IO::Socket::INET( PeerAddr=> 'www.somedomain.com', PeerPort=> 80, Proto => 'tcp', Timeout => '3') || die "Could not Connect $!\n"; print $socket "GET / HTTP/1.0\n\n"; while(<$socket>) { # .... } alarm(0); };