in reply to Sloppy, but simple
in thread net::ping not working for windows hosts

Why not something like

unless ($^O =~ /WIN32/) { Net::Ping->new("tcp", 2); etcetera } else { Net::Ping->new("icmp"); etcetera }
Untested..

-----
Of all the things I've lost in my life, its my mind I miss the most.