por explorer » 2008-11-22 17:34 @774
Bienvenido a los foros de Perl en Español, Lu_Arg.
El ./ forma parte del comando que estás ejecutando, no es un comando aparte. Así, con ./run_trees data/letter estás ejecutando un comando, run_trees, pero antes estás indicando dónde está ese comando: ./. Es decir, cuelga (/) a partir del nodo actual (.).
Esto sirve para indicar comandos que están en directorios distintos del actual. Si, por ejemplo, estás en /home/Lua y quieres ejecutar el comando run_trees que está en /usr/local/bin, podrías hacerlo poniendo el camino absoluto a él: /usr/local/bin/run_trees.
Como es un rollo el tener que poner valores absolutos a los caminos de los programas, se usa la variable de entorno PATH, que indica dónde debe mirar el programa de línea de comandos para encontrar los ejecutables que desea correr el usuario. Si, por ejemplo, en PATH, se almacena el valor '.', entonces uno de los lugares a mirar será en el mismo directorio en donde te encuentres (algo nada aconsejable si eres el root del sistema) y no tendrás que poner ningún camino, ni siquiera ./.
Estando en Windows, creo recordar que primero mira en el directorio donde te encuentres, así que en tu caso, ejecutarías el comando con run_trees data\letter.
Y en ese momento depende de lo que sea run_trees.
Como dices que es un programa en Perl, depende de la configuración del sistema que entienda que debe ejecutar el intérprete perl y pasarle como argumento, tu programa.
Si no lo tienes bien configurado, la opción es darle más información a tu entorno de línea de comandos: perl runtrees data\letter.
Presta también atención a los '/' que pasan a ser '\'. Bueno... Perl hará bastantes de esos cambios por ti...
Y, finalmente, la opción más clara: no usar Windows.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES