如何在perl脚本中使用CPAN模块,我想给其他人?

Cai*_*lin 4 excel perl cpan module

我正在编写一个Perl脚本来获取数据并将其写入Excel文件.我正在使用Excel::Writer::XLSX这个.

我希望编写脚本,然后将其交给我的团队的其他成员,以便我们可以在需要时使用它来编译数据.

我有几个问题:

  1. 我的同事是否需要安装模块才能使脚本正常工作?

  2. 如果没有,我如何用脚本包装模块给它们?

  3. 使用我选择的模块有更好的方法吗?

Sin*_*nür 5

有几种方法可以做到这一点.一个选项是组合一个Makefile.PL指定依赖项.这允许您将脚本捆绑为分发.例如

use ExtUtils::MakeMaker;

WriteMakefile(
    ABSTRACT          => 'myscript creates Excel files',
    AUTHOR            => 'A.U. Thor',
    EXE_FILES         => [ 'myscript' ],
    NAME              => 'myscript',
    VERSION           => '1.2.3',

    PREREQ_PM => {
        'Excel::Writer::XLSX' => '0.88',
    },
);
Run Code Online (Sandbox Code Playgroud)

然后,人们可以做perl Makefile.PL,这会告诉他们依赖关系.如果您这样做make dist并分发生成的归档文件,他们也可以使用cpanm来安装您的脚本及其依赖项.

另一种选择是将cpanfile放在一起.然后,收件人可以使用cpanm等工具安装所有依赖.

现在,如果您将脚本分发给那些不正常使用Perl的人,并且您希望他们能够只是单击并运行等,那么您可能需要查看pp.