http://www.perlmonks.org?node_id=66355


in reply to Net::Ping Module for Windows

I'm currently working on fixing Net::Ping in the development version of Perl. (It is my code that is mentioned above as Net::PingImproved.) There are currently 3 types of ping available: ICMP, TCP, and UDP. ICMP os the most accurate, but you need to be running as "root" or "administrator". On Win9X systems this isn't a problem; it's only a problem for NT systems.

TCP ping didn't previously work in Windows at all, but I've fixed that (i.e. it does work now).

UDP ping is not very accurate, nor does it work on many systems. At this point in time I'd not recommend using UDP ping. Unfortunately, UDP is the default method in the current Net::Ping.

To choose one of the other two protocols, do something like this:

my $p = Net::Ping->new("icmp"); $p->ping("127.0.0.1");

I'll post the current version of Net::Ping on perlmonks later today, so you can download it. Alternatively, search CPAN for Net::Ping::External, which might also suit your needs (that is, it knows how to ping hosts, and works on windows systems.)