in reply to connect() connection timeout

You can use IO::Socket, it allows you to set timeout:
use strict; use warnings; use IO::Socket::INET; my $sock = IO::Socket::INET->new( PeerAddr => 'X.X.X.X', PeerPort => '80', Proto => 'tcp', Timeout => 3, ); die $! unless $sock;