Función recursiva para listar contenido de un directorio
Publicado: 2009-11-09 09:06 @421
Hola, soy nuevo en este foro...
Estoy tratando de hacer una función recursiva en Perl que lista el contenido de un directorio, y comprueba si cada elemento es un archivo; si lo es, lo que hace es aplicarle una expresión regular; si por el contrario es un directorio, lo que debe hacer es volverse a aplicar dentro del directorio... Gracias...
Aquí está el código
Estoy tratando de hacer una función recursiva en Perl que lista el contenido de un directorio, y comprueba si cada elemento es un archivo; si lo es, lo que hace es aplicarle una expresión regular; si por el contrario es un directorio, lo que debe hacer es volverse a aplicar dentro del directorio... Gracias...
Aquí está el código
Using perl Syntax Highlighting
- #!C:/Perl64/bin/perl.exe -w
- sub buscarxtitulo($$) {
- my $directorio = $_[0];
- my $parametro = $_[1];
- opendir(DIR,$directorio);
- @archivos = readdir(DIR);
- close(DIR);
- foreach $archivo (@archivos) {
- next if $archivo eq "." || $archivo eq "..";
- if (-f $archivo) {
- if ($archivo =~ /$parametro/io) {
- print $archivo;
- }
- }
- elsif (-d $archivo) {
- buscarxtitulo($archivo,$parametro);
- }
- }
- }
- open(D,"Datos.txt");
- $directorio = <D>;
- $parametro = <D>;
- $tipo = <D>;
- chomp($directorio);
- chomp($parametro);
- chomp($tipo);
- print $directorio."\n";
- print $parametro."\n";
- print $tipo."\n";
- if ($tipo eq "Titulo") {
- buscarxtitulo($directorio,$parametro);
- }
- close(D);
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4