Question

J'écris un simple Script Motd dans Perl, qui analyse les messages à partir de sites Web spécifiques et les affiche au centre de l'écran du terminal.

Pour obtenir la largeur du terminal, j'utilise le terme du module CPAN :: ReadKey.
Maintenant j'appelle ce script avec

command /path/to/script

de mon .bashrc Pour l'afficher sur la connexion et l'ouverture d'un terminal.

Mon script fonctionne bien lorsqu'il est appelé pendant que je suis connecté via Perl ou en utilisant

source .bashrc

Mais lors de l'ouverture initiale d'un terminal (qui est le but réel du script), j'obtiens ce message d'erreur:

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 ligne 6 du script est

use Term::ReadKey;
Était-ce utile?

La solution

Trouvez d'abord où ce module est installé: locate Term/ReadKey.pm

S'il n'est pas trouvé, vous devez l'installer (peut nécessiter Sudo): cpan Term::ReadKey

S'il est déjà installé, vous devez dire à Perl où il est:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top