Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2010, 17:59
jferrero
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Respuesta: leer de 2 ficheros y comparar campos

Si las líneas siguen el mismo orden en los dos ficheros, entonces no necesitas preocuparte de mirar solo la segunda parte de la línea. Basta con ver si las líneas son distintas completamente.
Código Perl:
Ver original
  1. #!/usr/bin/perl
  2. open my $FICHERO, q[<], 'alarmas_actual.txt'  or  die "ERROR: No puedo leer alarmas_actual.txt:$!\n";
  3. my @alarmas_actual = <$FICHERO>;
  4. close $FICHERO;
  5.  
  6. open my $FICHERO, q[<], 'alarmas_anterior.txt'  or  die "ERROR: No puedo leer alarmas_anterior.txt:$!\n";
  7. my @alarmas_anterior = <$FICHERO>;
  8. close $FICHERO;
  9.  
  10. for (my $i = 0; $i < @alarmas_actual; $i++) {
  11.  
  12.     if ($alarmas_actual[$i] ne $alarmas_anterior[$i]) {
  13.         print "Líneas distintas en línea $i:\n";
  14.         print "\tActual  : $alarmas_actual[$i]";
  15.         print "\tAnterior: $alarmas_anterior[$i]";
  16.     }
  17. }
Sale:
Código:
Líneas distintas en línea 0:
        Actual  : ERI_RN;0
        Anterior: ERI_RN;1
Líneas distintas en línea 2:
        Actual  : SIE;0
        Anterior: SIE;1
__________________
JF^D Perl Programming en Español