将参数视为UTF-8编码?

时间:2013-11-10 18:55:15

标签: perl unicode utf-8 command-line-arguments

我已经阅读了this question,我一般都会尝试遵循汤姆斯回答的想法,但我对一件事情有疑问。

如何编写程序以便将命令行参数视为UTF8编码?

看起来我有两个选择:

  • 使用perl的-CA选项
  • 使用PERL5OPTS env变量。

问题是我用shebang写了我的perl程序:

#!/usr/bin/env perl

因为perl位于我正在使用的各种系统的不同位置。

这意味着 - 我不能使用-CA选项(或者我不知道如何,因为#!/usr/bin/env perl -CA不起作用。

我还希望避免在调用脚本之前指定特殊的env变种。

我唯一希望“手动”解码@ARGV,如:

use Encode;
@ARGV = map { decode( 'utf8', $_ ) } @ARGV;

还是有更好/更好的方式?

0 个答案:

没有答案