Вопрос

Я пишу простой Motd-Script в Perl, который анализирует сообщения с определенных веб-сайтов и отображает их в центре экрана терминала.

Чтобы получить ширину терминала, я использую термин модуля CPAN :: readkey.
Теперь я называю этот сценарий

command /path/to/script

от моего .bashrc Чтобы отобразить его на входе в систему и открыть терминал.

Мой скрипт работает нормально, когда я вхожу в систему через Perl или использую

source .bashrc

Но при начальном открытии терминала (которая является фактической целью сценария) я получаю это сообщение об ошибке:

Can't locate Term/ReadKey.pm in @INC (you may need to install the Term::ReadKey module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /path/to/perl-motd.pl line 6.
BEGIN failed--compilation aborted at /path/to/perl-motd.pl line 6.

Строка 6 сценария

use Term::ReadKey;
Это было полезно?

Решение

Сначала найдите, где установлен этот модуль: locate Term/ReadKey.pm

Если это не найдено, вы должны установить его (может потребовать SUDO): cpan Term::ReadKey

Если он уже установлен, вы должны сказать Perl, где это:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top