[Perl] Saludos

Gabriel Arenas Romero garenrom@eljorullo.com.mx
27 May 2003 09:40:25 -0500


--=-k+ilkKfHhpdhBTHdCIL1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Hola:

El mar, 27 de 05 de 2003 a las 09:18, Roberto Catalán escribió:
> tengo una aplicacion en donde se genera un archivo diario, por ejemplo:
> sistema0504.log
> sistema0505.log
> sistema0506.log
> En donde la nomenclatura es sistemaMMDD.log
> Resulta que debo hacer un script que saque ciertos
> datos de esos archivos, pero mi duda es como puedo
> hacerlo para revisar esos archivos dentro de un while
> y avanzar segun el dia, es decir un ciclo para que
> revise sistema05dd.log en donde dd sume 1 en cada
> ciclo.

Te envio un pequeño script que -creo- hace lo que necesitas. Sólo
adáptalo a necesidades particulares

                          Hasta luego

                               Gabriel



--=-k+ilkKfHhpdhBTHdCIL1
Content-Disposition: attachment; filename=lee_archivos.pl
Content-Type: text/x-perl; name=lee_archivos.pl; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

#!/usr/bin/perl
#
    my $nom='sistema';
    my $ext='.log';
    my $mes='05';
    my $dd=1;
    my $diafin=31;
    while($dd <= $diafin) {
	my $dia = ($dd > 9 ? $dd : '0'.$dd );
	my $arch=$nom.$mes.$dia.$ext;
	print "archivo => $arch\n";
    # si existe el archivo
	if(-e $arch) {
	# se abre de lectura
	    open(ENTRA, '<'.$arch);
	    my @regs=<ENTRA>;
	    for my $reg (@regs){
		print $reg;
	    }
	} else {
	    print "No existe el archivo\n";
	# para detener el ciclo
	    $dd = 60;
	}

	$dd++;
    }



--=-k+ilkKfHhpdhBTHdCIL1--