如何获得Perl的String :: Multibyte支持的字符集

时间:2015-03-29 15:54:58

标签: string perl

我正在使用String::Multibyte模块,似乎String::Multibyte->new()接受charset作为第一个参数,如果不支持charset则抛出异常。我认为支持的字符集是由特定目录中的*.pm文件定义的。

获得支持的字符集的最强大的方法是什么?获取文件是唯一的方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个模块的价值,并且源代码有一些可疑的东西,但除此之外,看起来你将不得不使用类似于模块本身的方法:

use File::Basename qw( basename );
use File::Spec::Functions qw( catdir );
require String::Multibyte;

my $dir = catdir(basename($INC{'String/Multibyte.pm'}), 'Multibyte');
opendir my $dh, $dir or die "Cannot open charset dir '$dir': $!";
my @charsets = grep s/[.]pm\z//, readdir $dh;
close $dh; 

代码未经测试。