miércoles, noviembre 14, 2007

Otra vez salvado por Perl

Si, hoy no voy a continuar con el tema de Lisp.

Resulta que me han solicitado ayuda por un tema:

Un programa comercial genera un fichero de texto como salida, pero luego resulta que el organismo oficial que lo requiere nos solicita un formato diferente.

Para un tema así de conversión de formatos LISP no es el lenguaje más adecuado. Perl en cambio está especializado en estas tareas aburridas y pesadas.

Hay va mi programita Perl. Si alguien tiene dudas de lo que hace que me deje un comentario...


$fichero="origen.txt";
open(FICH, $fichero) or die("Error al abrir el fichero");

open(SALIDA, ">destino.txt");

while(){
($texto, $cae, $fecha, $hora, $matricula, $carburante, $litros) = split(';',$_);
$anyo=substr($texto, 0, 4);
$periodo=substr($texto, 4, 2);
$numeracion=substr($texto, 6, 12);
$litros=$litros*100;
printf SALIDA "A11025131%4s%2GAST%12s%s%-12s%s%s%7d%s\n",$anyo,$periodo,$numeracion,$cae,$matricula,$fecha,$hora,$litros,$carburante;
}

close FICH;
close SALIDA;

No hay comentarios: