Yo tuve que hacer eso muchas veces estos años pasados. Lo solución fue ejecutar el comando ping al servidor y ver si ha respondido al paquete. Eso, con los backticks o con qx() puedes ejecutar el comando ping y obtener el resultado. Luego ver si ha respondido o no.
Vamos, básicamente sería algo así:
- Code: Seleccionar todo
$ping = system("ping -q -W 4 -c 1 217.127.89.51 > /dev/null");
print $ping;
siendo:
* -W 4 indica que esperamos un máximo ...