Tengo varios registros de acceso en el directorio de registros, siguiendo la convención de nombres a continuación:¿Cómo puedo tratar muchos archivos de registro como un archivo virtual en Perl?
access.log.1284642120
access.log.1284687600
access.log.1284843260
Básicamente, los registros son "girado" por Apache por día, por lo que se pueden ordenar en orden.
Estoy tratando de "leerlos uno tras otro", para que puedan ser tratados como un solo archivo de registro.
my @logs = glob('logs/access.log.*');
El código anterior glob todos los registros, pero no estoy seguro:
- ¿En qué orden se organizarán los registros, en orden alfabético?
- si deseo verificar "el último tiempo de acceso desde una única IP", ¿cómo podría hacerlo?
Tengo un script de Perl que puede leer un solo registro de acceso y comprobarlo fácilmente (mi algoritmo es tener un gran hash que usa la dirección IP como clave y el tiempo de acceso como el valor, y seguir presionando pares de clave/valor ...). Pero no quiero simplemente fusionar todos los archivos de acceso en un solo archivo temporal solo para este proceso.
¿Alguna sugerencia? Muchas gracias de antemano.
+1 de puntuacion. Al igual que las bandas de metal, las respuestas SO son mejores con diéresis. – FMc
También obtiene la magia de '$ .' haciendo un seguimiento del número de línea actual del archivo actual. – mob