Using perl Syntax Highlighting
sub chequeo{
#abrir y preparar los archivos fuentes y el archivo de salida;
open (FIRSTDATABASE, "<$_[0]");
flock (FIRSTDATABASE,1);
@regfirst = <FIRSTDATABASE>;
close (FIRSTDATABASE);
open (SECONDDATABASE, "<$_[1]");
flock (SECONDDATABASE,1);
@regsecond = <SECONDDATABASE>;
close (SECONDDATABASE);
open (CONTACTOS, ">contactos.txt");
close (CONTACTOS);
#para cada fila ($query) de la tablafirst;
#recorremos cada fila ($match) de la tablasecond;
#si los registros query y match son iguales, se imprime el registro match en una lista;
foreach $query (@regfirst){
foreach $match (@regsecond){
if ($query eq $match){
open (CONTACTOS, ">>contactos.txt");
print CONTACTOS $match;
close (CONTACTOS);
}
}
}
print "done\n";
}
#metemos [0] la tabla pequeña y [1] la tabla mayor,
&chequeo ('tablaA.txt','tablaB.txt');
#abrir y preparar los archivos fuentes y el archivo de salida;
open (FIRSTDATABASE, "<$_[0]");
flock (FIRSTDATABASE,1);
@regfirst = <FIRSTDATABASE>;
close (FIRSTDATABASE);
open (SECONDDATABASE, "<$_[1]");
flock (SECONDDATABASE,1);
@regsecond = <SECONDDATABASE>;
close (SECONDDATABASE);
open (CONTACTOS, ">contactos.txt");
close (CONTACTOS);
#para cada fila ($query) de la tablafirst;
#recorremos cada fila ($match) de la tablasecond;
#si los registros query y match son iguales, se imprime el registro match en una lista;
foreach $query (@regfirst){
foreach $match (@regsecond){
if ($query eq $match){
open (CONTACTOS, ">>contactos.txt");
print CONTACTOS $match;
close (CONTACTOS);
}
}
}
print "done\n";
}
#metemos [0] la tabla pequeña y [1] la tabla mayor,
&chequeo ('tablaA.txt','tablaB.txt');
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Con este programa sí que puedo encontrar aquellas filas IDÉNTICAS, en ambas tablas, y tenerlas registradas en una tercera tabla.
De momento ¡ya tengo el problemilla resuelto!
¡Gracias!
Pablo.