markseger has asked for the
wisdom of the Perl Monks concerning the following question:

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.

Your operating system likely does not allow arbitrary users to send ICMP packets. The ping executable is special to your OS, likely it is set up to execute as "root" ("setuid"), which is how it appears that arbitrary users can send iCMP packets with it.