以下程序:
use Encode qw(:all);
my @list = Encode->encodings();
print join("\n", @list);
如果我将脚本作为 .pl 或作为可执行文件运行,由pp.bat(使用 ActiveState Perl)创建,则会给出不同的结果如果我运行a.exe,由pp.bat可用编码列表创建的非常短。如何添加编码?
以下程序:
use Encode qw(:all);
my @list = Encode->encodings();
print join("\n", @list);
如果我将脚本作为 .pl 或作为可执行文件运行,由pp.bat(使用 ActiveState Perl)创建,则会给出不同的结果如果我运行a.exe,由pp.bat可用编码列表创建的非常短。如何添加编码?
您应该直接在代码中添加模块。
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);
一定要perldoc Encode::Supported弄清楚哪个模块实现了你想要的编码。然后pp通过使用-M命令行选项或通过将适当的use语句添加到脚本来告诉包含该模块。
例如,如果您需要iso-8859-15编码,则由Encode::Byte. 所以你会这样做pp.bat -M Encode::Byte script.pl,或者添加use Encode::Byte到 script.pl。