我在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;
解决方法
首先找到该模块的安装位置:找到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;