为什么我的程序不能执行 perl 文件

为什么我的程序不能执行 perl 文件

我有一个名为 make_html.pl 的 perl 文件名,它在名为 API::PDF2 的模块上运行(关联)我下载并安装了它,我认为我设置了错误的路径。我的@INC 有值

Built under linux
  Compiled at Feb  4 2014 22:52:09
  %ENV:
    PERL5LIB="/home/lib-11//Downloads/mirdeep2/lib/PDF:/home/lib-11//Downloads/mirdeep2/lib/PDF"
  @INC:
    /home/lib-11//Downloads/mirdeep2/lib/PDF
    /home/lib-11//Downloads/mirdeep2/lib/PDF
    /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
.

当我运行 make_html.pl 时,我收到的错误是

Can't locate PDF/API2.pm in @INC (@INC contains: /home/lib-11//Downloads/mirdeep2/lib/PDF /home/lib-11//Downloads/mirdeep2/lib/PDF /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 /home/lib-11/Downloads/mirdeep2/make_html.pl line 9.
BEGIN failed--compilation aborted at /home/lib-11/Downloads/mirdeep2/make_html.pl line 9

我如何删除所有重复的路径。我知道我在哪里安装了模块,但我不确定我需要将路径扩展到模块的哪个部分。主模块文件夹内有 3 - 4 个文件夹。我只是 Linux 的初学者,所以请使用简单的术语。我使用 Ubuntu 12.04LTS。

编辑

我刚刚注意到路径中有一个错误,我在路径中的 lib-11 和 Downloads 之间插入了两个正斜杠。但是我现在该如何纠正这个错误呢?

答案1

由于该模块被称为 PDF::API2,PDF 将是 Perl 在 @INC 包含的目录之一下搜索的目录。

换句话说,考虑到您提供的信息,如果您/home/lib-11/Downloads/mirdeep2/lib/PDF的@INC 中有,它将搜索该目录下的 PDF 目录(可能还有 PDF.pm 模块文件)。

您必须PDF从路径中删除该部分,它应该找到您的库:

/home/lib-11/Downloads/mirdeep2/lib/

相关内容