1

以下程序:

use Encode qw(:all);

my @list = Encode->encodings();
print join("\n", @list);

如果我将脚本作为 .pl 或作为可执行文件运行,由pp.bat(使用 ActiveState Perl)创建,则会给出不同的结果如果我运行a.exe,由pp.bat可用编码列表创建的非常短。如何添加编码?

4

2 回答 2

5

您应该直接在代码中添加模块。

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);
于 2011-05-24T08:48:37.610 回答
4

一定要perldoc Encode::Supported弄清楚哪个模块实现了你想要的编码。然后pp通过使用-M命令行选项或通过将适当的use语句添加到脚本来告诉包含该模块。

例如,如果您需要iso-8859-15编码,则由Encode::Byte. 所以你会这样做pp.bat -M Encode::Byte script.pl,或者添加use Encode::Byte到 script.pl。

于 2011-05-24T08:06:20.243 回答