В вашей строке use lib
есть дополнительные j
.
use lib "/root/perl5/lib/perjl5";
# ^
, поэтому путь не соответствует тому, что вы сказали позже («Модуль установлен и находится в: / root / perl5 / lib/perl5/HTML/Template.pm").
Чтобы диагностировать это, нужно скопировать и вставить каталог из сообщения об ошибке /root/perl5/lib/perjl5
, а затем добавить имя файла модуля HTML/Template.pm
, чтобы задать /root/perl5/lib/perjl5/HTML/Template.pm
, затем посмотрите, существует ли файл.
Затем вы увидите, что файл не существует, а затем сможете выяснить, что в имени каталога была опечатка.
Кроме того, если вы поддерживаете свою собственную (CPAN) библиотеку, вместо того, чтобы помещать use lib ...
во все свои исходные файлы, вы можете рассмотреть возможность использования другого механизма получения perl для использования вашей библиотеки, например, установкуPERL5LIB
переменная окружения (которую вы можете установить из файла запуска вашей оболочки (например, ~ / .bash_profile)), или используя perl -I...
.
Также, если вы хотите использовать CPAN, вы можете посмотретьв модуле local :: lib .Один из удобных способов использовать local :: lib - установить local :: lib вашего дистрибутива (например, в Debian / Ubuntu, apt-get install liblocal-lib-perl
), а затем использовать его для настройки собственной библиотеки CPAN.(Вы можете загрузить локальную :: lib из CPAN, но это проще сделать с помощью пакета distro.)