Excel 如何在我想要提供给其他人的perl脚本中使用CPAN模块?
我正在编写一个Perl脚本,它获取数据并将其写入Excel文件。我过去经常这样做 我希望编写脚本,然后将其交给我的团队的其他成员,以便我们可以在需要时使用它来编译数据 关于这一点,我有几个问题:Excel 如何在我想要提供给其他人的perl脚本中使用CPAN模块?,excel,perl,module,cpan,Excel,Perl,Module,Cpan,我正在编写一个Perl脚本,它获取数据并将其写入Excel文件。我过去经常这样做 我希望编写脚本,然后将其交给我的团队的其他成员,以便我们可以在需要时使用它来编译数据 关于这一点,我有几个问题: 我的同事是否需要安装模块以使脚本正常工作 如果没有,我如何用脚本包装模块以将其提供给他们 有没有比使用我选择的模块更好的方法 有几种方法可以做到这一点。一个选项是组合一个指定依赖项的Makefile.PL。这允许您将脚本捆绑为发行版。例如 use ExtUtils::MakeMaker; WriteM
有几种方法可以做到这一点。一个选项是组合一个指定依赖项的
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',
},
);
然后,人们可以执行perlmakefile.PL
,这将通知他们依赖关系。如果您使用生成dist
,并分发生成的存档文件,则他们还可以使用来安装脚本及其依赖项
另一个选择是把一个。然后,收件人可以使用工具(如)安装所有依赖项
现在,如果您将脚本分发给不正常使用Perl的人,并且希望他们能够单击并运行等,那么您可能需要研究一下。很久以前,我编写了一个名为scriptdist的程序,将单个文件程序转换为类似CPAN的分发版,并完成一个构建文件。通过这种方式,您可以将其作为归档文件传递,人们可以像对待任何其他CPAN发行版一样对待它。它基本上是自动化的。我为此写了一封信 如果您想传递归档文件,可以使用一个技巧。
cpan
工具可以从当前目录安装。这将获得依赖项(依赖项的性质是必需的):
这样,您就可以安装您的程序及其依赖项,而无需将任何内容放入类似CPAN的存储库。您需要了解的内容还很不清楚 我的同事是否需要安装模块以使脚本正常工作 我认为很明显,您的同事需要访问您的代码才能使用它 不清楚您写了什么,但是如果您创建了一个模块,那么任何可以访问模块文件的程序都可以使用它来访问其功能 如果没有,我如何用脚本包装模块以将其提供给他们 你的“如果不是”不清楚。你所写的意思是“如果他们不需要为脚本安装模块”,我怀疑这是否是你的意图 “如何用脚本包装模块”您是在问如何创建模块,还是已经有了模块?通常,使用
use
语句编写脚本的程序员可以访问模块
如果您有一个模块,并且希望其他人能够使用use
加载该模块,则该模块必须出现在其@INC
数组中列出的目录之一中。如果您在单独的系统上工作,那么最好创建一个包,您可以根据需要进行更改,并让其他人进行更新
有没有比使用我选择的模块更好的方法
您指的是Excel::Writer::XLSX
还是您自己的模块
如果
Excel::Writer::XLSX
正在做您需要的事情,那么您可能不会改变。但是,如果您在某些方面遇到问题,那么您需要提出一个新问题并描述这些问题另请参见我认为您或Brian都没有解决OP的具体问题我认为您或Sinan都没有解决OP的具体问题我不同意。我不认为你的回答改善了我和西南所说的,你提出的问题超出了向他的同事提供课程的必要性。你可能是对的,也许我误解了最初的问题。但在这种情况下,尤其是你忽略了OP的三个问题,我认为准确描述你回答的问题会有很大帮助
$ cpan .