Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Listar directorios

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Jue Abr 06, 2006 4:19 am
DETA
Perlero Nuevo
Perlero Nuevo
Registrado: 06 Abr 2006
Mensajes: 9
Listar directorios Responder citando

Hola a todos:

Estoy intentando hacer un programita en perl que me devuelva el árbol de directorios de cualquier ruta que yo le diga, pero no consigo que me lea la variable que yo le debo introducir.
Por favor, que alguien me indique donde esta el fallo porque no se que mas cambiar.

MIL GRACIAS...

#!/usr/bin/perl
use strict;
use File::Find;
print "introduce la ruta del directorio que quieres listar: ";
$dir = <STDIN>;
chomp $dir;
#si ejecuto esta orden sólo me dice los archivos de este directorio, pero #yo quiero que me lea el directorio que yo le introduzco.
#my $dir = 'C:/BIOLOGIA/' ;

find(\&imprimir_directorio, $dir);

sub imprimir_directorio{
my $elemento = $_;
print "$File::Find::name\n" if -d $elemento;
print "archivo: $elemento\n:" if -f $elemento;
}
exit;
Mensaje Jue Abr 06, 2006 5:38 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4129
Ubicación: Valladolid, España
Responder citando

Si estás en msdos o windows, asegúrate de que estás 'escapando' los back-slash (\). Por ejemplo, para C:\directorio\ deberás poner C:\\directorio\\. La solución que pones C:/directorio/ sí que es correcta, porque Perl se da cuenta de los slash y los cambia automáticamente a back-slash.

Además, hay algún detalle suelto... prueba:
Código:
#!/usr/bin/perl

use File::Find;
use warnings;
use strict;

print "Introduce la ruta del directorio que quieres listar: ";
my $dir = <STDIN>;
chomp $dir;

find(\&imprimir_directorio, ( $dir )  );

sub imprimir_directorio{
    my $elemento = $_;
    print "$File::Find::name\n" if -d $elemento;
    print "archivo: $elemento\n:" if -f $elemento;
}
exit;
Mensaje Jue Abr 06, 2006 6:35 am
DETA
Perlero Nuevo
Perlero Nuevo
Registrado: 06 Abr 2006
Mensajes: 9
Responder citando

muchíiiiiiiiiiiiiisimas gracias.

voy a seguir haciendo cosas con ese script y si tengo mas dudas os lo preguntaré, aunque espero no tenerlas.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group