Правильные прямые ответы уже даны, но я думаю, что вы задали неправильный вопрос. Вы, вероятно, пытаетесь разрабатывать, используя только основные модули. Зачем? Вы, вероятно, делаете это, потому что вы не хотите иметь дело с зависимостями. Зачем? Потому что они могут быть болью в заднице. Но для разработки Perl без CPAN не хватает половины мощности. Вы наносите вред себе. Оно того стоит.
Обновление :
Теперь, когда я знаю больше о том, что вы пытаетесь сделать, я могу ответить на правильный вопрос. Во-первых, «как установить модуль, если у меня нет рута?» Простой ответ таков:
perl Makefile.PL PREFIX=/some/path LIB=/some/path/lib
...and all the rest as normal...
для модулей на основе MakeMaker (LIB используется для управления неточной природой PREFIX. Предпочтителен INSTALL_BASE, но он не обратно совместим).
и это для Module :: Build
perl Build.PL --install_base=/some/path
, а затем модули окажутся в / some / path / lib, и вы можете установить переменную окружения PERL5LIB
или use lib qw(/some/path/lib)
в своем коде.
Это означает, что вы можете вставить зависимые модули прямо в ваш дистрибутив программного обеспечения и отправить их. Прекрасно работает для чисто Perl-модулей. Для вещей, которые требуют компилятора, посмотрите на PAR , поскольку другие предложили иметь возможность отправлять скомпилированные исполняемые файлы.
Кроме того, вы можете распространять свои материалы в виде модуля CPAN с указанными зависимостями и позволить клиенту CPAN разрешать их. Вы даже можете использовать Module :: AutoInstall для выполнения этого процесса вне клиента CPAN.
Итак, вы видите, что вы не ограничены использованием только основных модулей при поставке приложения Perl.