Perl 不包括目录

Perl 不包括目录

我在 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 或其他地方询问。

相关内容