explorer escribiste:Puedes incluir directorios de búsqueda de paquetes (o sea, modificar el contenido de @INC) por medio de
use lib 'ruta';
Genial, creo que me complicaré un poco las cosas, algunos ordenadores tienen Strawberry y ActivePerl. Ese módulo en específico siempre está instalado en ambas distribuciones (por defecto) y lo uso para buscar la ruta de un programa instalado por medio del registro de Windows. Miraré las rutas para ver qué tienen en común y trataré de adaptar algo.
explorer escribiste:El eval() tiene dos formas de funcionar. Si se le pasa una cadena (con comillas) la expresión que hay dentro se evalúa y se ejecuta cada vez que el procesador pase por esa línea.
En cambio, si a eval le pasamos un bloque (con las llaves), el contenido es interpretado una sola vez (al mismo tiempo que la línea que lo contiene es interpretada), y luego ejecutada cuando el procesador llegue allí.
La ventaja de esta segunda solución es clara: se detectan errores sintácticos en tiempo de compilación, y solo se interpreta una vez, con lo que es más rápida que la primera solución.
Más información en perldoc -f eval
Error de novato: "No he leído la documentación"
He colocado la línea usando llaves:
y funciona Ok, tuve que poner use a cambio de require, este último me devolvía un error.
¿En qué se diferencia el uso de if con el uso de eval?, según lo que leí, usar:
es equivalente a la línea en la que uso eval, pero, esta línea no funciona.