我正在尝试从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端口。
答案 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
来获取命令行参数