use IO::Socket::INET; print test_port_simple( 'perlmonks.org', 80, 1234, 'speak!' ), $/; print test_port_simple( 'perlmonks.org', 81, 1234, 'speak!' ); sub test_port_simple { my ( $server, $port, $timeout, $verbose ) = @_; return "ERR - No server supplied" unless $server; return "ERR - No port supplied" unless $port; $timeout ||= 10; print "Simple testing $server:$port\n" if $verbose; my $sock = IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Proto => 'tcp', Timeout => $timeout, ReuseAddr=> 1, ReusePort=> 1, ); my $res = $sock ? 'OK' : "ERR - Could not connect socket on port $port"; $sock->close() if $sock; return $res; } __DATA__ Simple testing perlmonks.org:80 OK Simple testing perlmonks.org:81 ERR - Could not connect socket on port 81