Buenas, tengo el código, pero no funciona, algo pasa que no entra a los ciclos, creo que no pasa de la condición donde evalúo si es un txt y si es archivo, también como adiciono la fecha al nombre del archivo para que pueda ejecutarlo y que se creen diferentes archivos según la fecha.
Como ir a buscar en diferentes rutas si el archivo está como no procesado, o sea, que vaya y busque a la ruta
\\192.192.192.1\mis_documentos, y si no está ahí que busque en la ruta
\\152.152.152.1\informacion y que luego me muestre la ruta en el archivo de salida a la par del fichero que corresponde.
Gracias.
Using perl Syntax Highlighting
#!/usr/bin/perl -l
use strict;
use warnings;
use diagnostics;
use File::stat;
use Time::Local;
## Constantes
my $dir = 'C:/directoriodeprueba';
my $ArchivoResumen="Monitoreo Interfaces.txt";
## Variables
my @procesado;
my @no_procesado;
my $mtime="";
## Calculo del Tiempo
print "La fecha de hoy es: ",scalar localtime();
my @ayer = localtime( time - 86_400 );
my $time = timelocal(0,0,18,@ayer[3..5]);
print "La fecha de ayer a las 6 es: ",scalar localtime($time);
## Analisis de los Ficheros
opendir(DIR, $dir) or die "No se puede abrir el directorio $dir: $!\n";
while (my $fichero = readdir(DIR))
{
print "$fichero\n";
#next if ! -f $fichero; # Saltamos al siguiente si no es fichero normal
next if $fichero !~ /\.PGC$/; # Saltamos al siguiente si no es .PGC
print "$dir/$fichero\n";
$mtime = (stat("$dir/$fichero"))[9]; # Obtenemos la fecha de modificacion del fichero
print "$mtime\n";
my $texto = "$fichero".scalar localtime($mtime);
if ($mtime > $time) # Segun el $mtime lo guardamos en un sitio u otro del arreglo
{
push (@procesado, $texto); # Insertamos los procesados en el arreglo
#print "@procesado";
}
else
{
push (@no_procesado, $texto); # Insertamos los no procesados en el arreglo
#print "@no_procesado";
}
}
closedir DIR;
## Escribimos en el archivo
open(RESUMEN,">>$ArchivoResumen") or die "Imposible abrir archivo: '$ArchivoResumen': $!\n";
print RESUMEN "MONITOREO\n";
print RESUMEN '=' x 60;
print RESUMEN "ARCHIVOS PROCESADOS\n";
print RESUMEN '=' x 40;
print RESUMEN join ("\n", @procesado), "\n";
print RESUMEN "ARCHIVOS NO PROCESADOS\n";
print RESUMEN '=' x 40;
print RESUMEN join ("\n", @no_procesado), "\n";
close(RESUMEN);
## Fin
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4