#!/usr/local/bin/perl use IO::Socket; use strict; use warnings; # default port my $pt = "8080"; my $inactive; my $call; my $server_ip; my @remote_server; my @remote_port; $remote_server[0] = "arbornet.org"; $remote_port[0][0] = "21"; $remote_port[0][1] = "23"; $remote_port[0][2] = "80"; #$remote_server[1] = "slashdot.org"; #$remote_port[1][0] = "80"; #$remote_server[2] = "apple.com"; #$remote_port[2][0] = "80"; #$remote_server[3] = "yahoo.com"; #$remote_port[3][0] = "80"; my $i = 0; print "Starting Ping System\n"; foreach $server_ip (@remote_server){ print "\nService at $server_ip on port:\n"; foreach $pt ($remote_port[$i]){ $inactive = 0; $call = IO::Socket::INET-> new ( PeerAddr => "$server_ip", PeerPort => "$pt", Proto => 'tcp', Timeout => '5', ) or $inactive = 1; if (!($inactive)) { print " $pt is up\n"; } else { print " $pt is down\n"; } close $call; } }