У меня есть приложение Perl, написанное кем-то другим, и я пытаюсь запустить его на моей локальной машине. Но я продолжаю получать ошибку в одном из модулей, которая, похоже, связана с отсутствием модуля. Какие есть хорошие инструменты или методы, чтобы отследить это?
Вот что говорит плагин eclipse 'EPIC': «... распространяется в c: /perl/lib/base.pm, строка 93». Извините, я знаю, что это не так уж и много.





Если у вас отсутствует модуль, вы получите такую ошибку:
Can't locate Does/Not/Exist.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
Лучшее место для отслеживания модулей Perl - это CPAN поиск. Вы можете установить их с помощью оболочки CPAN, доступной, запустив:
perl -MCPAN -e shell
Вы также можете получить их у поставщика Perl / дистрибутива Linux.
Что касается их всех, на ум приходят два подхода:
Когда вы запускали perl Makefile.PL, он должен был сообщить вам все модули, которые вам нужно установить. Конечно, это только в том случае, если тот, кто написал приложение, позаботился о том, чтобы оно работало.
Найдите в файлах директивы use и require.
Это "похоже на отсутствующий модуль"? Как насчет того, чтобы добавить точное сообщение к вашему вопросу? Perl обычно очень четко описывает отсутствующие модули (см. Ответ Дероберта).