use warnings; use strict; use IO::Socket; my $socket; for (1..10) { $socket = IO::Socket::INET->new(Proto => 'tcp', PeerAddr => 'localhost', PeerPort => 8000, Timeout => 10); last if defined $socket; print "Not connected, retrying...\n"; sleep 1; } die "Connection failed" unless defined $socket; print "Client connected\n"; #### use warnings; use strict; use IO::Socket; my $CONN_TIMEOUT_SEC = 10; my $socket; my $startt = time; my $attempt = 1; while ( time - $startt < $CONN_TIMEOUT_SEC ) { sleep 1 if $attempt > 1; print "Connection attempt ", $attempt++, "...\n"; $socket = IO::Socket::INET->new( Proto => 'tcp', PeerAddr => 'localhost', PeerPort => 8000, Timeout => $CONN_TIMEOUT_SEC); last if defined $socket; } die "Connection failed" unless defined $socket; print "Client connected\n";