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";