Perl - Una Rutina Anidada

 
Vista:

Una Rutina Anidada

Publicado por Infornet (1 intervención) el 18/06/2005 02:00:47
Hola a todos,
Tengo problemas con una rutina anidada, siempre esta tomando el valor fijo del primer bucle, la idea es hacer una compacion de los archivos.

while($linea = <unReconAtlas>) {
$cheque=substr($linea,0,10);
$amount=substr($linea,11,14);
while($linea2 = <unReconBank>) {
$cheque2=substr($linea2,0,10);
$amount2=substr($linea2,11,14);
if ($cheque eq $cheque2 && $amount eq $amount2){
print OUT "$cheque2 $amount2\n";
}
}

}

POruqe no me funciona?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Una Rutina Anidada

Publicado por Marcos Legido (12 intervenciones) el 27/06/2005 14:28:32
Por que cada vez que ejecutas el segundo while, se lee todo el archivo de un tiron, pero cuando vuelves a la siguiente interacción del primer while, no has reiniciado el puntero del segundo archivo, con lo que cuando vuelve a intentar entrar en el segundo while, no entra nunca, porque no tiene mas datos que leer... prueba a usar la función seek() antes de realizar la llamada al segundo while, usando el manejador del segundo archivo y colocandolo en la posición 0. Así te tiene que funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar