Bueno, una solución sería esta (no probada):
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict
;
use warnings
;
my @ficheros = <2005
*.dat
>;
open SALIDA
, '>archiv.dat' or die "No puedo escribir: $!\n";
print SALIDA
join "\n", @ficheros, '';
close SALIDA
;Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
En cuanto a hacer un bucle entre dos fechas, sí que se puede hacer: saltamos aquellos ficheros que no están (no probado):
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict
;
use warnings
;
open SALIDA
, '>archiv.dat' or die "No puedo escribir: $!\n";
for my $fecha ( 20050101
.. 20071231
) {
my $fichero = "$fecha.dat";
next if !-e
$fichero; # saltamos al siguiente si no existe el fichero
print SALIDA
"$fichero\n"; # si sí existe, lo añadimos a la lista
}
close SALIDA
;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Bueno, es un poco bruto recorrer miles de ficheros que sabemos que no existen... pero es la ventaja de tener las fechas bien puestas (año, mes, día), en su orden correcto... las podemos tratar como números enteros. Y además, hoy en día tenemos ordenadores muy rápidos, para saltar las fechas de los ficheros que no existen.