El caso es que tengo una duda muy básica sobre ficheros.
Tengo un fichero temporal (FILEOUT) que va aumentando en tamaño pues voy almacenando datos en él a partir de la información leída en FILEIN.
Cuando dicho fichero (FILEOUT) llega a un cierto número de lineas (7000 en el ejemplo más abajo), hago un volcado del contenido de dicho fichero a otro, y suprimo el contenido del mismo para empezar de cero, cerrando y abriendo el fichero con la opción '>'.
Lo que llevo hecho es lo siguiente:
Using perl Syntax Highlighting
while (my $l = <FILEIN>) {
print FILEOUT $l;
$counter++;
if ($counter == 7000)
{
`cat $workingDirectory/$flatTmpProjFileName >$workingDirectory/output_$numero.txt`;
close(FILEOUT);
open(FILEOUT,">$fileout");
$counter = 0;
$numero++;
print FILEOUT $l;
$counter++;
if ($counter == 7000)
{
`cat $workingDirectory/$flatTmpProjFileName >$workingDirectory/output_$numero.txt`;
close(FILEOUT);
open(FILEOUT,">$fileout");
$counter = 0;
$numero++;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Es decir, cierro el fichero temporal (FILEOUT), y lo vuelvo a abrir con la opcion ">" de forma que sobrescriba el contenido anterior.
El caso es que funciona, pero me gustaría saber si existe otra forma más sencilla y quizás más eficiente de hacerlo.
¡Gracias por adelantado!
¡Saludos!
Felipe