I had been using Net::Ping for quite awhile as a real simple test to find if a remote machine is alive. Recently I was running that code on a machine that claimed an address wasn't pingable when the /bin/ping said is was.
As an experiment, I created my ping object using 'icmp', and then it worked, but I had to run it as root and I need to do this as a non-priv user. Worst case I can always run /bin/ping inside my perl if I have to but I would much rather find out what is wrong.
print "PING: $host\n";
print "STATUS: $status\n";