以下程序:
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。