0

我是perl的菜鸟。

我使用安装在/usr/lib/perl5/site_perlCentOS 5 上的 perl 模块。在 CentOS 6 上,perl 搜索路径 (@INC) 中缺少该目录。

在 CentOS 5 perl -V 输出上:

Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  .......
  .......
  Built under linux
  Compiled at Sep  3 2009 10:26:51
  @INC:
    /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl
    /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl
    /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/5.8.8
    .

在 CentOS 6 perl -V 输出上:

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
  .....
  .....
  Built under linux
  Compiled at Jun 22 2012 13:27:28
  @INC:
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
    .

我现在应该把拱独立的东西放在哪里?

4

2 回答 2

2

特定于您站点的普通 perl 模块应位于以下目录中:

perl -V:installsitelib

考虑创建一个 Makefile.PL 或 Build.PL 并使用它来安装你的模块;正在做

module-starter --module Your::Module::Name --author 'Your Name' --email your.email@example.com

将使用module-starter创建一个模板分发,您可以将代码复制到其中。

于 2013-03-06T08:10:06.307 回答
2

如果您使用的是 CPAN 模块,那么您应该让cpan实用程序决定在安装软件包时将文件放在哪里。

如果您自己编写了模块,那么您可以将代码放在当前工作目录中(您将看到这.是 中的最后一项@INC)或由环境变量指定的单独目录PERL5LIB或 Perl 源文件中的use lib.

将开发模块放在每个用户列表中的目录中是一个坏主意@INC

如果您需要一个单独的站点库永久目录,那么您应该使用额外的库路径重建 Perl。

于 2013-03-06T07:42:09.710 回答