5 # Recibo los parametros de la linea de comando e inicializo
6 # las variables generales
8 if(!$ARGV[0] || !$ARGV[1])
10 print "No me pasaste los parametros adecuados\nuso\nweb020.pl origen destino";
16 my $arch_salida="$destino/web020";
17 my $arch_entrada="$origen/web020";
19 my @datos_linea_anterior;
22 # Archivos de entrada y salida
23 open arch_ent, "<$arch_entrada";
24 open arch_sal, ">$arch_salida";
29 # Grabo el encabezado en el archivo de salida
30 print arch_sal $linea;
32 my @linea_anterior=(0,0,'nada',0);
35 # Leo la cantidad de lineas del archivo de entrada
37 $aux=`wc -l $arch_entrada`;
38 ($aux)=$aux=~/\s(\d*)\s/;
39 # Bucle que recorre el archivo de entrada linea por linea
40 for ($contador = $aux ;$contador > 0 ; $contador --)
42 $linea=<arch_ent> unless ($contador == 1);
43 @campos=split(",",$linea);
45 if( $linea_anterior[0] eq $campos[0] and
46 $linea_anterior[1] eq $campos[1] and
47 $linea_anterior[2] eq $campos[2] and
48 $linea_anterior[3] eq $campos[3])
52 foreach my $item (1..31)
54 if( $linea_anterior[3+$item] ne "00" or
55 $campos[3+$item] ne "00")
57 $campos[3+$item]="01";
64 if( $linea_anterior[0] and
65 $linea_anterior[1] and
68 print arch_sal $linea_anterior[$_]."," foreach (0..35);
75 $linea_archivo = $aux - $contador + 1;
76 print "Error en la linea ".$linea_archivo.": ";
77 print $linea_anterior[$_]."," foreach (0..35);
83 @linea_anterior=@campos;
86 print arch_sal $linea_anterior[$_]."," foreach (0..35);