Tengo un script perl que utiliza rutas de archivos relativas.rutas relativas de archivos en Perl
Las rutas relativas parecen ser relativas a la ubicación desde la que se ejecuta el script en lugar de la ubicación del script de Perl. ¿Cómo puedo hacer mis rutas relativas relativas a la ubicación del script?
Por ejemplo que tienen una estructura de directorios
dataFileToRead.txt
->bin
myPerlScript.pl
->output
dentro del script de perl abro dataFileToRead.txt utilizando el código mi rawDataName $ = "../dataFileToRead.txt"; INPUT abierto, "<", $ rawDataName;
Si ejecuto el script de perl desde el directorio bin entonces funciona bien
Si lo ejecuto desde el directorio padre, entonces no puede abrir el archivo de datos.
https://encrypted.google.com/search?q=findbin+site:use .perl.org – daxim
@daxim: su c omment es, presumiblemente, el mantra que * FindBin está roto *. Sé de esto, pero no puedo encontrar fácilmente una explicación, un ejemplo de su falla relevante para esta pregunta, o un módulo alternativo. Quizás puedas ayudarnos? – Borodin
Enlaces directos: [FindBin está roto] (http://www.perlmonks.org/?node_id=41213) (corregido en el núcleo desde mediados de 2011 solamente); [FindBin parece pensar que es necesario recorrer todo el camino] (http://use.perl.org/comments.pl?sid=36400&cid=56760); [código alternativo] (http://use.perl.org/~Aristotle/journal/33996) o quizás FindBin :: Real o lib :: abs.Nunca tuve el deseo de hacer esta comparación porque nunca necesité FindBin o su equivalente funcional porque sé sobre el empaquetado y la característica de compartir directorios. – daxim