Pergunta

Estou escrevendo um MOTD-Script simples em Perl, que analisa mensagens de sites específicos e os exibe no centro da tela do terminal.

Para obter a largura do terminal, uso o termo do módulo CPAN :: ReadKey.
Agora estou chamando esse script com

command /path/to/script

do meu .bashrc para exibi -lo no login e abrir um terminal.

Meu script funciona bem quando chamado enquanto estou conectado via perl ou usando

source .bashrc

Mas na abertura inicial de um terminal (que é o objetivo real do script), estou recebendo esta mensagem de erro:

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.

A linha 6 do script é

use Term::ReadKey;
Foi útil?

Solução

Primeiro encontre onde esse módulo está instalado: locate Term/ReadKey.pm

Se não for encontrado, você deve instalá -lo (pode exigir sudo): cpan Term::ReadKey

Se já estiver instalado, você deve dizer ao Perl onde está:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top