Unicode::RecursiveDowngrade - ぷちWiki

最終更新日時:

概要



いわゆるutf-8フラグを一括で落とすモジュール。
これは超便利!
ちなみに、utf-8フラグは以下のようにして落としているらしい。
この落とし方は知らなかった。。。。

 pack('C0A*', shift)

これだと通常使うであろうEncodeモジュールすらも不要なので、Perl-5.8でなくても使用可能。素晴らしい。

インストール



CPANで普通にインストール可能です。
Perlモジュール参照。

使用方法



とても簡単です。

 use Unicode::RecursiveDowngrade;
 my $ret = Unicode::RecursiveDowngrade->new->downgrade($var);

$varは以下のように複雑な構造でも、階層を辿っていって全てのutf-8フラグを落としてくれます。

 $var = {
     foo   => ’bar’,
            baz   => [
                ’qux’,
                ’quux’,
            ],
            corge => \$grault,
        };