我正在用perl编写一个简单的motd脚本,它解析来自特定网站的消息并将它们显示在终端屏幕的中心。
为了获得终端的宽度,我使用CPAN模块Term::ReadKey。
现在我用

command /path/to/script

在登录和打开终端时显示。
当我通过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;

08-18 05:38