问题描述
|
以下程序:
use Encode qw(:all);
my @list = Encode->encodings();
print join(\"\\n\",@list);
如果我以or1ѭ创建的脚本以.pl或可执行文件运行脚本,则会给出不同的结果(使用ActiveState Perl)
如果运行由pp.bat
创建的a.exe
,则可用编码的列表非常短。如何添加编码?
解决方法
您应该直接在代码中添加模块。
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
找出哪个模块实现了所需的编码。然后,通过使用-M
命令行选项或向脚本中添加适当的use
语句,使pp
包含该模块。
例如,如果需要iso-8859-15
编码,则由Encode::Byte
提供。因此,您将执行pp.bat -M Encode::Byte script.pl
,或将use Encode::Byte
添加到script.pl。