Frage

Ich schreibe ein einfaches Motd-Skript in Perl, das Nachrichten von bestimmten Websites analysiert und in der Mitte des Terminalbildschirms anzeigt.

Um die Breite des Terminals zu erhalten, verwende ich den CPAN -Modulbegriff :: ReadKey.
Jetzt nenne ich dieses Skript mit

command /path/to/script

Von meinem .bashrc So zeigen Sie es auf Anmeldung an und öffnen Sie ein Terminal.

Mein Skript funktioniert gut, wenn ich angerufen bin, während ich über Perl oder benutze

source .bashrc

Bei der ersten Öffnung eines Terminals (was der tatsächliche Zweck des Skripts ist) erhalte ich diese Fehlermeldung:

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.

Zeile 6 des Skripts ist

use Term::ReadKey;
War es hilfreich?

Lösung

Finden Sie zuerst, wo dieses Modul installiert ist: locate Term/ReadKey.pm

Wenn es nicht gefunden wird, müssen Sie es installieren (möglicherweise sudo): cpan Term::ReadKey

Wenn es bereits installiert ist, müssen Sie Perl mitteilen, wo es sich befindet:

use lib '/path/to';   # assuming it's installed as "/path/to/Term/ReadKey.pm"
use Term::ReadKey;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top