私は PAR::Packer を使用して、Perl スクリプトからスタンドアロンの実行可能ファイルを作成してきました。私が抱えている唯一の問題は、-l
オプションを介して強制的に含める必要がある追加の DLL を特定することです。
現在、utf16-le でのエンコードを必要とする Perl スクリプトを使用しています。このEncode::find_encoding
関数はスクリプト内では問題なく動作しますが、パッケージ化した後は動作しませんpp
。
問題を説明するための小さなスクリプト (encode.pl と呼びましょう) を次に示します。
use strict;
use warnings;
use Encode;
my $_UTF16 = Encode::find_encoding ('utf16-le');
print $_UTF16;
これを実行すると、次のように出力されEncode::Unicode=HASH(xxxxxx)
ます。ただし、でパックするとpp
、機能しなくなります。
pp -o encode_test.exe encode_test.pl
これで、encode_test.exe を実行すると、次のようになります。
Use of uninitialized value $_UTF16 in print at script/encode_test.pl line 5.
でパッケージ化した後でも、これを正しく機能させるために何をする必要があるか(たとえば、含めるライブラリやその他のソリューション)を誰かに教えてもらえますpp
か?