Tengo un script de Perl que he escrito para buscar archivos presentes en mis carpetas de Windows, recursivamente. Ingresé el texto de búsqueda como el argumento del tiempo de ejecución del script de Perl para encontrar un archivo que tenga este texto en su nombre. El script perl es el siguiente:¿Cómo encontrar archivos/carpetas recursivamente en Perl script?
use Cwd;
$file1 = @ARGV[0];
#@res1 = glob "*test*";
#@res1 = glob "$file1*";
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
foreach (@res1)
{
print "$_\n";
}
Pero esto no busca todos los subdirectorios recursivamente. Sé que glob
no coincide recursivamente.
Así intentado usar el módulo File::Find
y la función find(\&wanted, @directories);
pero me dio un error diciendo find()
indefinido. Por lo que leí de la ayuda, pensé que la función find()
está definida por defecto en la instalación de Perl, con algunos códigos básicos para encontrar carpetas/archivos. ¿No es correcto?
Preguntas es, en el script de Perl anterior, ¿cómo busco archivos/carpetas recursivamente?
En segundas preguntas, encontré que perldoc <module> help
no tiene ejemplos sobre el uso de una determinada función en ese módulo, lo que lo dejaría en claro.
¿Puede indicar alguna buena ayuda/documento/libro para usar varias funciones perl de diferentes módulos perl con ejemplos claros del uso de esas funciones del módulo?
Mi método de esta pregunta http://stackoverflow.com/questions/4979310/extended-for-subdirectories-rename-files-and-directories-add-prefix podría ayudar. La tarea en este caso fue cambiar el nombre de todos los archivos y carpetas en un directorio y todos los subdirectorios. El método podría modificarse fácilmente para sus usos. –