Проблемы с исполняемым Perl с PP - PullRequest
1 голос
/ 20 ноября 2010

Я пытаюсь создать исполняемый файл * nix из сценария Perl, который использует CPAN-модуль с именем Text :: BibTeX.

Я пытался использовать pp для упаковки всего, но безуспешно.

Я пробовал

pp -o outfile src.pl

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

Но это не работает.Или лучше исполняемый файл работает на моей машине, но не на двух других машинах, к которым у меня есть доступ.На одном из этих компьютеров Text :: BibTeX также установлен на другом только Perl.

Может кто-нибудь помочь?

Еще несколько подробностей о скрипте.

Это препроцессор для файлов нагрудника для создания файлов 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 ]

1 голос
/ 21 ноября 2010

Является ли bibliography.bib частью PAR, или он вводит выполнение программы? Если последнее, вы хотите:

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
1 голос
/ 20 ноября 2010

С pp у меня всегда был лучший успех с флагом -x (я так думаю), который запускает программу и проверяет наличие зависимостей в реальном времени.Посмотрите, поможет ли это.

0 голосов
/ 21 ноября 2010

Попробуйте использовать $ARGV[0] вместо shift, чтобы получить аргумент командной строки

...