【问题标题】:Perl: How do I add encoding to PAR packed archivePerl:如何将编码添加到 PAR 打包存档
【发布时间】:2011-08-31 17:09:57
【问题描述】:
以下程序:
use Encode qw(:all);
my @list = Encode->encodings();
print join("\n", @list);
如果我将脚本作为 .pl 或由 pp.bat 创建的可执行文件运行(使用 ActiveState Perl),则会给出不同的结果
如果我运行由pp.bat 创建的a.exe,则可用编码列表非常短。如何添加编码?
【问题讨论】:
标签:
windows
perl
activeperl
par
【解决方案1】:
您应该直接在代码中添加模块。
use Encode qw(:all);
use Encode::Byte;
use Encode::CN;
use Encode::JP;
use Encode::KR;
use Encode::TW;
my @list = Encode->encodings();
print join("\n", @list);
【解决方案2】:
做perldoc Encode::Supported 找出哪个模块实现了你想要的编码。然后告诉pp 包含该模块,方法是使用-M 命令行选项,或者将适当的use 语句添加到您的脚本中。
例如,如果您需要iso-8859-15 编码,则由Encode::Byte 提供。所以你会做pp.bat -M Encode::Byte script.pl,或将use Encode::Byte 添加到script.pl。