Perl:如何将编码添加到 PAR 打包存档中

发布于 2024-11-09 08:31:06 字数 274 浏览 0 评论 0原文

以下程序:

use Encode qw(:all);

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

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

The following program:

use Encode qw(:all);

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

gives different results if I run script as .pl or as executable, created by pp.bat (ActiveState Perl is used)
If I run a.exe, created by pp.bat the list of available encodings is very short. How do I add encodings?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

计㈡愣 2024-11-16 08:31:06

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

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);

You should add the modules directly in your code.

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);
娇俏 2024-11-16 08:31:06

执行 perldoc Encode::Supported 来找出哪个模块实现了您想要的编码。然后告诉 pp 通过使用 -M 命令行选项或在脚本中添加适当的 use 语句来包含该模块。

例如,如果您需要 iso-8859-15 编码,则由 编码::Byte。因此,您需要执行 pp.bat -M Encode::Byte script.pl,或将 use Encode::Byte 添加到 script.pl。

Do perldoc Encode::Supported to figure out which module implements the encoding you want. Then tell pp to include that module, either by using the -M command-line option, or by adding the appropriate use statement to your script.

For example, if you need the iso-8859-15 encoding, that's provided by Encode::Byte. So you'd do pp.bat -M Encode::Byte script.pl, or add use Encode::Byte to script.pl.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文