perlping is a Unix-like ping(1) implementation, using Net::Ping for the low-level ping functionality. perlping was written because I wanted to install the Nagios network monitoring software on a client's hosted FreeBSD 4.8 system, but FreeBSD 4.8's built-in ping would not accept a ping count argument -- and Nagios needs a count-accepting ping to perform basic "host alive" checking.
perlping takes the following command-line arguments:
perlping defaults to connecting the HTTP (webserver) port 80 using TCP, which may be helpful in getting through firewalls that (justifiably) block ICMP packets. The ability to specify the protocol and port number is also useful for basic connectivity testing of other network services, like SSH.
perlping reports minimum, average, and maximum ping times, along with any packets lost. This functionality is sufficient for Nagios. If the standard deviation of ping response times was needed, you could easily add it using Statistics::Descriptive.
To install perlping, download the perlping source file, then type at the command line:
perl perlping-PL.TXT PERLPINGBINARYNAME
where PERLPINGBINARYNAME is the filename for your executable copy of perlping. (All the source program does is install perlping with the configured copy of Perl.)
perlping has been tested on FreeBSD 4.8, Windows XP, and Redhat Linux. It should work everywhere that Perl can use Net::Ping and command-line arguments. Enjoy!