[perl] Leyendo un directorio
Salvador Ortiz Garcia
sog@msg.com.mx
Mon, 4 Dec 2000 21:57:17 -0600 (EST)
On Mon, 4 Dec 2000, Gunnar Wolf wrote:
> > (...)
> > Intenté hacer un
> > opendir (DIR, "/ruta");
> > while (<DIR>) { }
> > closedir (DIR);
> >
> > pero luego de muchos intentos me dí cuenta de que esto del (<>) solo
> > funciona con archivos :\ no con directorios...
> >
> > ¿Tiene alguien idea de como leer un archivo con miles de archivos y no se tarde
> > minutos, sino segundos? :)
> > ¿O de plano me tengo que esperar a que se lea todo a la de 'a wilson' (o
> > cambiar de estategía, obviamente) ?
>
> Ummm... Lo que te voy a sugerir es muy poco ortodoxo, usalo con precaucion
> y no lo uses en programas a los que cualquier hijo de vecina tenga acceso.
>
> @archivos = `ls`
> foreach $archivo (@archivos) {
> print "Trabajando con $archivo\n";
> }
Sin opendir y compañia resultan lentos, tu propuesta lo será aun más, pues
le agregas un fork y un sort ('ls' obligadamente utiliza readdir).
Y no existe nada sobre la faz de POSIX más rapido para leer directorios
que readdir.
Efectivamente como comenta Bolo Lacertus, los directorios inmensos son
problematicos de manejar, de ahí que es mejor separar los archivos desde
su creación.
Saludos
Salvador Ortiz
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : unsubscribe perl