我一直在使用 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
?