• Publicidad

Contenido de un directorio

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Contenido de un directorio

Notapor adrolmar » 2009-09-25 06:54 @329

¡Hola!

¿Cómo se haría para cargar un array con los nombres de los ficheros contenidos en un directorio (únicamente los nombres, no los permisos)?

Gracias
adrolmar
 

Publicidad

Re: Contenido de un directorio

Notapor explorer » 2009-09-25 06:59 @332

JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Contenido de un directorio

Notapor adrolmar » 2009-09-29 09:53 @453

Buenas.

Lo solucioné así: my @aux = <$rutaconversaciones/*.mp3>;
pues el readdir() me cargaba el vector únicamente con líneas en blanco.

Gracias otra vez, explorer :)
adrolmar
 

Re: Contenido de un directorio

Notapor explorer » 2009-09-29 10:44 @488

Pon el código del readdir() y así vemos dónde está el fallo. Así sabrás porqué y en el futuro tendrás una posibilidad más para leer directorios.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Contenido de un directorio

Notapor adrolmar » 2009-09-30 08:40 @403

El problema no era tal, pero readdir() me devuelve tan sólo los nombres de los ficheros, y en este caso yo necesitaba la ruta absoluta al mismo, así que me sirvió perfectamente con

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @ficheros = <$ruta/$patron>;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


¡Gracias!
adrolmar
 

Re: Contenido de un directorio

Notapor explorer » 2009-09-30 11:34 @524

Pues entonces, sería algo así (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
opendir my $dh, $ruta or die "ERROR: no puedo hacer opendir(): $!\n";
@ficheros = map { "$ruta/$_" } grep { /\.mp3$/ } readdir $dh;
closedir $dh;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Parece más lioso, pero es más académico.

El uso de <*.mp3> (que, en realidad, es glob('*.mp3')), es mejor cuando, como en este caso, usas un patrón de búsqueda de ficheros.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Contenido de un directorio

Notapor adrolmar » 2009-09-30 11:53 @536

Hola,
sí, en este caso buscaba ficheros mp3 :) probé también ese método y funcionaba (me despisté con no sé qué y comenté aquí que no me funcionaba; perdón).

De hecho si no tuviera un formato fijo usaría el otro método; siempre es mejor hacer las cosas conforme a estándares (académicos, legibilidad, usabilidad... de cualquier tipo).

¡Gracias una vez más!
adrolmar
 


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 22 invitados

cron