У меня есть сценарий Perl (foo.pl), который загружает Foo.pm из того же каталога, используя требуется механизм:Как я могу распространять приложение Perl в виде одного файла?
require "./Foo.pm";
...
my $foo = new Foo::Bar;
Foo.pm придерживается стандартного формата модуля:
package Foo::Bar;
...
1;
Вместо того, чтобы распространять мое приложение в виде двух файлов (foo.pl и Foo.pm), я хотел бы распространять только один файл. В частности, я хотел бы сделать Foo.pm частью скрипта foo.pl.
Как это достичь?
Тривиальный подход простого слияния двух файлов (cat foo.pl Foo.pm> foo2.pl) не работает.
Привет Вранг-Вранг! Спасибо за советы. К сожалению, создание исполняемого файла не является вариантом, так как тот же скрипт будет использоваться на нескольких платформах. – knorv
knorv: Если вы не включаете какие-либо модули с компонентом XS/C/compiled, PAR может создавать файлы .par, которые являются кросс-платформенными. Это НЕ бинарный исполняемый файл, как «pp -o foo.exe foo.pl». – tsee