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

tim zeno at timallen.org
Mon Aug 26 15:57:16 CDT 2002


TooManySecrets wrote:
> 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?

Hola tms,
No es una pregunta tonta, de verdad.  Saber en cuál módulo está una 
función no siempre tiene la misma manera de contestar.

En principio, en tu ejemplo, no hace falta un módulo.  Para volver el 
resultado de una llamada al sistema, sólo hace falta código así;

$lista = `ls`;
print $lista;

Nota que son comillas "abiertas" (que tiendan a la izquierda: disculpa, 
no soy nativo de este pais).

Las comillas en Perl tienen tres tipos con significados diferentes:
1) simples: pasan la cadena como expresión sin interpretar.  P.ej.
$lista = 'ls';
print $ls;
produciría la salida:
ls
y nota que no produciría una nueva línea después.

2) dobles: interpretan variables y carácteres de control.  P.ej:
$nom = "Tim";
print "me llamo $nom\n";
produciría la salida:
me llamo Tim
*con* una nueva línea después.

3) abiertas: producen salida desde el sistema anfitrión. P.ej:
$usuario = `who am i`;
print "$usuario\n";
produciría la salida:
tim
(en mi sistema por lo menos).

El código que utiliza las comillas abiertas puede que no sea portable 
entre sistemas, por razones obvias: "ls" no funciona en DOS.

Para saber en cuál módula está una función, hay varios herramientos. 
Uno es, si quieres saber si un módulo en particular contiene una 
función, puedes teclear algo así desde la línea de mandos:

perldoc LWP

Esto leará el POD documentación adentro del módulo como si fuera una 
página MAN.  Muchos módulos tienen buena documentación (¡y algunos no!).

"perldoc" es un buen fuente de información en general.  Si teclas:
perldoc -f print
te explicará todo sobre la función que nombras.  Si teclas:
perldoc -q host
te dará las páginas del perl FAQ que contienen información sobre 
anfitriones.  Y si teclas:
perldoc
A secas, te explicará como funciona "perldoc", y te explicará unos 
cuantos documentos (perlfaq1, p.ej) que te intereserán.

Otros fuentes serían "The Perl Cookbook" por Tom Christiansen & Nathan 
Torkington, o "Perl in a Nutshell" (los nombres de los autores me 
escapen).  Los dos son de O'Reilly.  Sería poco ético decirte que estos 
documentos circulan libramente en la red.

¡Espero que te ayude!

Un saludo.
--
Zeno (tim)




More information about the Barcelona-pm mailing list