Yes, that is correct. The ping utility uses ICMP echo request/ICMP echo reply while, by default, Net::Ping tries to establish a TCP session with the echo port of the target host.
Try making this change to your program:
in reply to Re: Unexpected results from ping
in thread Unexpected results from ping
$p = Net::Ping->new('icmp');
Just to clarify, what you are seeing here is most likely the result of the specified hosts allowing ICMP echo requests, but not having a service listening to the echo port.
w01b0rji.cube.fred.ch `ping` OK : w01b0rji.cube.fred.ch is alive
w01b0rji.cube.fred.ch $p->ping NOK
svmoloch.flur.fred.ch `ping` OK : svmoloch.flur.fred.ch is alive
svmoloch.flur.fred.ch $p->ping NOK
188.8.131.52 `ping` OK : 184.108.40.206 is alive
220.127.116.11 $p->ping NOK