Если у меня есть .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