我在 ubuntu 上使用 perl5 时遇到了问题。
我有一个脚本,其中包含了几个目录。启动脚本时,shell 返回
Can't locate XML/Twig.pm in @INC (@INC contains:
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl)
at /root/cron/bin/xml-gp-data.pl line 9.
BEGIN failed--compilation aborted at /root/cron/bin/xml-gp-data.pl line 9.
好吧,这意味着 perl 找不到该目录。我检查了目录和文件。它的路径是
/root/perl5/lib/perl5/XML/Twig.pm
我用来包含该目录和文件的代码是
use strict;
use warnings;
use DBI;
use lib qw(/root/perl5/lib/perl5);
use XML::Twig;
use Data::Dumper;
use lib qw(/root/perl5/lib/perl5/);
我自己没有编写该脚本,所以我无法告诉你为什么它被包含两次:-P
我仍然不明白,为什么 perl 找不到XML/Twig.pm
。它正是我告诉 perl 寻找它的地方。有什么想法可以解释为什么它不起作用以及如何纠正它?
答案1
为什么要将东西安装到 root 用户主目录下的目录中?
您应该安装软件包(libxml-twig-perl
在本例中),并使用系统安装的软件。您通常也不应该以 root 身份运行程序。
这对于 askUbuntu 来说也是题外话,因为它是一个一般的 PERL 编程问题,最好在主 Stack Overflow 或其他地方询问。