Perl verifica la conexión a Internet durante 30 segundos si es estable, no estable y no hay conexión a Internet

Perl verifica la conexión a Internet durante 30 segundos si es estable, no estable y no hay conexión a Internet

Quiero un script en Perl que pueda verificar si mi Internet es estable, no estable o no tengo conexión a Internet.

yo sueloRed::Pingscript pero la respuesta es " You are connected to the internet.", no verifica la conexión a Internet en 30 segundos si es estable, no estable o no hay conexión a Internet. Simplemente responda " You are connected to the internet.". Pero la verdad mi conexión a internet es inestable. Cada 3 segundos conectar - desconectar.

Este es el guión

$ping = Net::Ping->new("icmp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
}
else {
    print "You are not connected to the internet.\n";
}
$ping->close();

Quiero usarlo wgetcomo probador, pero no sé cómo escribirlo en Perl. Mi proyecto está escrito en Perl.

Respuesta1

Su guión parece bastante cerca de funcionar. Esto es lo que obtuve después de algunos ajustes:

#!/usr/bin/perl

use warnings;
use strict;
use Net::Ping;

my $ping = Net::Ping->new("tcp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
} else {
    print "You are not connected to the internet.\n";
}
$ping->close();

Notas:

  • icmp ping requiere privilegios de root y podría ser bloqueado por Google o alguien intermedio algún día, así que quédese con tcp ping. Nadie va a bloquear eso.
  • use stricty use warningsson buenos hábitos de Perl para tener
  • necesitas useel modulo

información relacionada