使用PP进行Perl可执行问题

时间:2010-11-20 14:21:39

标签: perl packaging module-packaging

我正在尝试从Perl脚本创建一个* nix可执行文件,该脚本使用名为Text :: BibTeX的CPAN模块。

我一直试图使用pp来收拾所有东西,但没有成功。

我试过了

pp -o outfile src.pl

pp -M Text::BibTeX -o outfile src.pl

但它没有用。或者更好的是可执行文件在我的机器上运行,但在我有权访问的其他两台机器上运行。在其中一台机器上,Text :: BibTeX也只安装在另一台机器上。

有人可以帮忙吗?

有关该脚本的更多详细信息。

它是bib文件的预处理程序,用于从围兜的某些字段创建CSV文件。

正常使用是:

perl Bib2CSV.pl file.bib

当我运行pp -x Bib2CSV.pl file.bib时,它会抱怨缺少输入文件:

ForkBook:plbib2csv (master) fork$ pp -x Bib2CSV.pl bibliography.bib
Missing input file.
SYSTEM ERROR in executing Bib2CSV.pl: 512 at /Library/Perl/5.10.0/Module/ScanDeps.pm line 1255.

源代码可在https://github.com/TiagoVeloso/Bib2CSV

获得

它还有一个我正在研究的Java端口。

3 个答案:

答案 0 :(得分:1)

使用pp,我总是在-x标志(我认为是)运行程序并检查依赖项实时取得了最好的成功。看看是否有帮助。

答案 1 :(得分:1)

PAR是bibliography.bib的一部分,还是输入程序的执行?如果是后者,你想要:

pp -l /usr/lib/libbtparse.so -B -S -o bib2csv bib2csv.pl
./bib2csv bibliography.bib

如果是前者,你想要:

pp -l /usr/lib/libbtparse.so -B -S -a bibliography.bib -o bib2csv bib2csv.pl

此外,PAR文件是ZIP文件。作为PAR可执行文件。您可以使用unzip -t轻松查看其中的内容:

unzip -t bib2csv | grep Text

答案 2 :(得分:-1)

尝试使用$ARGV[0]代替shift来获取命令行参数