У меня есть скрипт perl, который использует относительные пути к файлу.относительные пути к файлу в perl
Относительные пути, по-видимому, относятся к местоположению, из которого выполняется сценарий, а не к местоположению скрипта perl. Как сделать мои относительные пути относительно местоположения скрипта?
Например у меня есть структура
dataFileToRead.txt
->bin
myPerlScript.pl
->output
каталогов внутри скрипта PERL я открываю dataFileToRead.txt используя код мой $ rawDataName = "../dataFileToRead.txt"; open INPUT, "<", $ rawDataName;
Если я запускаю скрипт на языке Perl из каталога бен то он работает отлично
Если я запускаю его из родительского каталога, то он не может открыть файл данных.
https://encrypted.google.com/search?q=findbin+site:use .perl.org – daxim
@ daxim: ваш c возможно, мантра, что * FindBin сломан *. Я знаю об этом, но не могу легко найти объяснение, пример его сбоя, связанного с этим вопросом, или альтернативный модуль. Может быть, вы можете нам помочь? – Borodin
Прямые ссылки: [FindBin не работает] (http://www.perlmonks.org/?node_id=41213) (исправлено в ядре только с середины 2011 года); [FindBin, похоже, считает, что нужно пройти весь путь] (http://use.perl.org/comments.pl?sid=36400&cid=56760); [code alternative] (http://use.perl.org/~Aristotle/journal/33996) или, возможно, FindBin :: Real или lib :: abs.У меня никогда не было желания делать это сравнение, потому что мне никогда не нужен FindBin или функциональный эквивалент, потому что я знаю об упаковке и функции dir share. – daxim