Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Comparar IPs de varios routers

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Vie Feb 24, 2006 9:21 am
xigr
Perlero Nuevo
Perlero Nuevo
Registrado: 03 Feb 2006
Mensajes: 42
Comparar IPs de varios routers Responder citando

hola a todos de nuevo,

pues no se como hacer apra comparar ips. entro a routers con mi script y miro con un comparando los posibles switch que cuelguen en ellos, y aparte también entra en el switch y comprueba lo mismo. para evitar un bucle al llegar a un tercer switch y que capture la ip del segundo otra vez y volvaaaamos a lo mismo... pues iba a comprar las ips para descartarlas, pero resulta que no me hace ni caso.

he probado con el 'eq' para cadenas, y probé con el 'cmp', aunque de éste no estoy seguro que lo hubiera escrito bien :s
__________________
if (($Dato4 eq $Dato6) || ($Dato2 eq $Dato6)){ $session->close; }else{
print " IP tercer switch: ".$Dato6."\n";
$session->close;
}
------------------------
resultado:
Accediendo al router 1: 172.21.116.164
Conectando al switch: 10.96.67.110
Conectando al segundo switch: 10.96.67.67
IP tercer switch: 10.96.67.110
------------------------

gracias
saludos,
iñaki
Mensaje Vie Feb 24, 2006 9:38 am
xigr
Perlero Nuevo
Perlero Nuevo
Registrado: 03 Feb 2006
Mensajes: 42
Responder citando

vale.. no he dicho nada... lo que he pegado es el resultado correcto... si es que...

bueno, creo que está bien igualmente no? o se puede mejorar?

eq es para cadenas alfanuméricas si no me equivoco, así con ip's me irá bien no?

gracias!!!!
Mensaje Vie Feb 24, 2006 10:21 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Este es un caso perfecto para aplicar los hash:
Código:
# Memoria de IP analizadas
my %ip;

#...
# bucle para todas las máquinas
# ...
 %ip = ();

#    extraigo la IP de la máquina
  print "Accediendo al router 1: $la_ip\n";
  $ip{ $la_ip }++;

# Entramos en la máquina y analizamos el resto de IP's
# ...
      extraemos $la_ip del interior
#    si no la he analizado antes
    if ( not $ip{ $la_ip }++ ) {
        # lo hago ahora
        print "Conectando al switch: $la_ip\n";
    }
# ...
# Fin del bucle
Utilizamos un hash para ir memorizando las IP que hay dentro de cada router. Si nos encontramos con alguna repetida, salimos.
Esto habría que hacerlo mejor, desde luego. Depende del resultado final que quieras tener.
Mensaje Lun Feb 27, 2006 1:53 am
xigr
Perlero Nuevo
Perlero Nuevo
Registrado: 03 Feb 2006
Mensajes: 42
Responder citando

ostras! perfecto!!

muchas gracias explorer. ahora mismo me lo miro bien. en teoría no hay más de 3 switch, con lo si llegara a un tercero ya desconectaría. las configuraciones las hago aparte una vez tengo las ips. así que es solo guardar éstas en el ficherito como hago ahora y que me ponga si puede o no entrar.

muchas gracias!
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group