in reply to LWP - timeout

It seems I had a similar problem...
The fact is that if the host is unreachable, the timeout doesn't seems to work...
Or maybe the time out is only used once the TCP connections is done...
You could try to test if host is reachable before connecting or set your sig handler to control the time out 'by-hand' (something like (courtesy of axion on QuestionExchange) :
#!/usr/local/bin/perl -w use strict; use IO::Socket; { my $timeout = 0; my $sock = undef; $SIG{ALRM} = sub {$timeout = 1; die}; eval { alarm (2); $sock = new IO::Socket::INET (PeerAddr => '10.1.1.18', PeerPort +=> 29, ); alarm (0); }; die "Can't open socket: timeout=$timeout\n" if ($timeout or !$sock); print "I would print to the socket now, if I knew what I was connecte +d to\n"; close ($sock); }
) Or even modify the LWP Timeout method...