#! perl -slw use strict; use LWP::Simple; my $start = time; while( <> ) { chomp; eval { local $SIG{ ALRM } = sub { die 'timeout' }; alarm 10; my($content_type, $document_length, $modified_time, $expires, $server) = head( "http://$_" ) or warn "Failed to HEAD $_: $!\n"; }; } printf "\nRunning HEAD on $. urls serially took %d seconds\n", time() - $start; __END__ C:\test>junk57 urls.list.small Failed to HEAD www.asuscom.de: Bad file descriptor Failed to HEAD www.belkin.com: Bad file descriptor Failed to HEAD www.logical-approach.com: Bad file descriptor Running HEAD on 100 urls serially took 102 seconds