Domanda

Sto scrivendo un semplice script motd in Perl, che analizza i messaggi da siti Web specifici e li visualizza al centro dello schermo del terminale.

Per ottenere la larghezza del terminale utilizzo il termine del modulo CPAN :: Readkey.
Ora sto chiamando questo script con

command /path/to/script

dal mio .bashrc Per visualizzarlo al login e aprire un terminale.

Il mio script funziona bene quando ho chiamato mentre sono effettuato l'accesso tramite perl o uso

source .bashrc

Ma sull'apertura iniziale di un terminale (che è lo scopo effettivo dello script) sto ricevendo questo messaggio di errore:

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.

La riga 6 dello script è

use Term::ReadKey;
È stato utile?

Soluzione

Per prima cosa scopri dove è installato quel modulo: locate Term/ReadKey.pm

Se non viene trovato, devi installarlo (potrebbe richiedere sudo): cpan Term::ReadKey

Se è già installato, devi dire a Perl dove si trova:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top