+#!/usr/bin/perl -w
+
+use strict;
+
+# Recibo los parametros de la linea de comando e inicializo
+# las variables generales
+
+if(!$ARGV[0] || !$ARGV[1])
+{
+ print "No me pasaste los parametros adecuados\nuso\nweb020.pl origen destino";
+ exit;
+}
+
+my $origen=$ARGV[0];
+my $destino=$ARGV[1];
+my $arch_salida="$destino/web020";
+my $arch_entrada="$origen/web020";
+my $linea;
+my @datos_linea_anterior;
+my $contador;
+
+# Archivos de entrada y salida
+open arch_ent, "<$arch_entrada";
+open arch_sal, ">$arch_salida";
+
+# Leo el encabezado
+$linea=<arch_ent>;
+
+# Grabo el encabezado en el archivo de salida
+print arch_sal $linea;
+
+my @linea_anterior=(0,0,'nada',0);
+my @campos;
+
+# Leo la cantidad de lineas del archivo de entrada
+my $aux;
+$aux=`wc -l $arch_entrada`;
+($aux)=$aux=~/\s(\d*)\s/;
+# Bucle que recorre el archivo de entrada linea por linea
+for ($contador = $aux ;$contador > 0 ; $contador --)
+{
+ $linea=<arch_ent> unless ($contador == 1);
+ @campos=split(",",$linea);
+
+ if( $linea_anterior[0] eq $campos[0] and
+ $linea_anterior[1] eq $campos[1] and
+ $linea_anterior[2] eq $campos[2] and
+ $linea_anterior[3] eq $campos[3])
+ {
+ my $dias;
+ $dias=0;
+ foreach my $item (1..31)
+ {
+ if( $linea_anterior[3+$item] ne "00" or
+ $campos[3+$item] ne "00")
+ {
+ $campos[3+$item]="01";
+ $dias++;
+ }
+ }
+ $campos[35]=$dias;
+ }else
+ {
+ if( $linea_anterior[0] and
+ $linea_anterior[1] and
+ $linea_anterior[2])
+ {
+ print arch_sal $linea_anterior[$_]."," foreach (0..35);
+ print arch_sal "\n";
+ }else
+ {
+ if($contador < $aux)
+ {
+ my $linea_archivo;
+ $linea_archivo = $aux - $contador + 1;
+ print "Error en la linea ".$linea_archivo.": ";
+ print $linea_anterior[$_]."," foreach (0..35);
+ print "\n";
+ }
+ }
+ }
+
+ @linea_anterior=@campos;
+}
+
+print arch_sal $linea_anterior[$_]."," foreach (0..35);
+print arch_sal "\n";
+
+close arch_ent;
+close arch_sal;
+