Perl/File::Find::Object
De Astillas.net
< Perl
Módulo | File::Find::Object |
---|---|
Versión | 0.2.1-1 |
Uso | Propósito general |
Propósito | Permite buscar archivos en el sistema operativo empleando orientación a objetos. |
Sumario
Referencia rápida
#!/usr/bin/perl
use File::Find::Object;
my %options = (
depth => 1,
nocrossfs => 1,
filter => \&_filter_file,
callback => \&_on_every_returned_file,
);
my @directories = qw(
/home/user/data1
/home/user2/lib/data3
);
my $finder = File::Find::Object->new( \%options, @directories );
while (my $filename = $finder->next()) {
do_something_with_file_name( $filename );
}
Funcionamiento
El funcionamiento básico del módulo consiste en crear un objeto con los parámetros de búsqueda y recuperar los resultados después de uno en uno (con el método next()).
El método new() admite varias opciones que modifican el funcionamiento del módulo. Las que he podido probar y he visto cómo funcionan son:
- depth
- Devuelve el contenido del directorio antes que el directorio por lo que éste no será retornado nunca.
- nocrossfs
- Activa o desactiva el cruce de sistemas de archivos.
- filter
- Define una función como filtro de archivos. Recibe como parámetro el archivo o el directorio en curso y según su valor de retorno el módulo se salta dicho elemento (valor falso) o lo incluye en la búsqueda (retorno verdadero).
- callback
- Define una función que será llamada (con el nombre de archivo como parámetro) con cada elemento encontrado que el módulo vaya a retornar al programa.