Если у меня есть .pm
файл, могу ли я его use
, не помещая его на свой @INC
путь? Я думаю, что это было бы яснее в моем конкретном случае использования - яснее, чем использование относительных путей или добавление этого каталога в @INC
.
Изменить: пояснение:
Я надеялся избежать необходимости перебирать каждый элемент в @INC
и вместо этого напрямую указывать, какой файл меня интересует. Например, в Node.JS require('something')
будет искать в списке путей, но require('/specific/something')
перейдет прямо туда, где я говорю это к.
В Perl я не уверен, что это та же функция, что и в require
, но похоже, что она работает.
Однако для операторов use
требуются голые слова. Это оставило меня в тупике, как вступить на абсолютный путь.
use lib
передuse module
будет правильным для вашего случая. Но почему вы не можете использоватьrequire
. Это больше подходит для вашей проблемы. Также вы можетеSetEnv PERL5LIB
переменную среды в apache conf, чтобы применить этот каталог для всего проекта или приложения. - person   schedule 14.02.2013.pm
файл. Я не пробовал, но похоже, что это не сработает. Обычно я вызываю функции в модуле с синтаксисом типаCGI::ReadParse();
илиuse CGI ':cgi';
. Я не знаю, как я мог бы сделать это сrequire
для файла.pm
, но если бы я мог сделать это сrequire
, это действительно решило бы мою проблему. - person 700 Software   schedule 14.02.2013require "Newmodule.pm";
, а затем позвонитеNewmodule::subname();
. Выполняется нормально. - person   schedule 14.02.2013