[bcn-pm] La pregunta tonta del día.

Angel Faus afaus at corp.vlex.com
Tue Aug 27 03:11:24 CDT 2002


> Cómo se debe hacer para que, si necesito realizar alguna cosa,
> averiguar en qué módulo se encuentra (tened en cuenta que estoy
> empezando). Si por ejemplo, yo quiero realizar alguna tarea del
> sistema (un "ls" por ejemplo), cómo sé en qué módulo se encuentra
> para cargarlo en mi programa?

Tendrías que mirar dos cosas:

- la documentación de las funciones "builtin" de perl. Una de las 
particularidades de perl es que hay un montón de funciones que están 
disponibles de entrada sin cargar ningún módulo. Esto es un problema, 
en mi opinión, porque hace que localizar funcionalidades sea algo 
complicado.

A veces las funciones builtin son algo primitivas en la forma de 
usarlas, pero casí siempre hay algún módulo en CPAN que ofrece la 
misma funcionalidad, con una sintaxis más moderna.

Si estas en unix/linux/bsd... la forma de acceder a la documentación 
de todas las funciones es ejecutando "perldoc perlfunc". Si quieres 
documentación de una sola de las funciones se hace con "perldoc -f 
nombre_de_la_funcion".

Además toda la documentacion está colgada en www.perldoc.com si la 
necesitas.

- si lo que quieres hacer necesita un módulo, lo mejor es buscarlo en 
search.cpan.org. Ahí están listados todos los módulos de perl, no 
sólo los que tú tengas instalados en tu sistema, y se puede consultar 
su documentación.

Respecto a la consulta concreta que planteabas, la formas de hacerlo 
clásica es la función "opendir". También hay un par de módulos que 
ofrecen formas alternativas de hacerlo (Io::Dir y Tie::Dir). 

Otro módulo relacionado que a veces he encontrado muy útil es 
File::Find, que hace algo así como el comando "find" de unix.

Espero que te haya sido útil,

-angel




More information about the Barcelona-pm mailing list