2005年09月21日 15:48 [Edit]
UTF-8 Flagを落とそうとして思わぬBugを見つけた話
これじゃ、駄目。
UTF-8 フラグと戦う人へ - にぽたん研究所UTF-8 フラグがどうもウザいという人向けにこんな CPAN モジュールがあるそうな。
Unicode::RecursiveDowngrade
以下ダメな点を。
- Hash Keyに未対応
- Blessed Referenceに未対応
ダメダメいうだけではダメなので、以下、代案....を出そうとしたら、StorableのBugを見つけてしまったかも。
package Unicode::DeepDowngrade;
use strict;
use warnings;
use Storable qw/dclone/;
sub new{ bless {} => shift; }
sub downgrade{
use bytes;
my $self = shift;
local($Storable::drop_utf8) = 1;
return dclone(shift);
}
1;
こうしておいて、
use Unicode::DeepDowngrade;
use Devel::Peek;
use utf8;
my $udd = Unicode::DeepDowngrade->new;
my $obj = {
名前 => '小飼 弾',
字 => [qw/小飼 弾/],
読み => { 小 => "Ko", 飼 => "Gai", 弾 => "Dan" },
};
my $dobj = $udd->downgrade($obj);
Dump $dobj;
こうしても、Flagは落ちないままなのだ。dclone()をfreeze(),thaw()に変えてもstore(),retrieve()に変えても駄目。うむむ....
Dan the Perl5 Porter
Posted by dankogai at 15:48│Comments(0)│TrackBack(1)
この記事へのトラックバックURL
この記事へのソーシャルブックマーク
この記事へのトラックバック
このあいだ紹介した、Unicode::RecursiveDowngrade ですが、弾さんが、
404 Blog Not Found:UTF-8 Flagを落とそうとして思わぬBugを見つけた話これじゃ、駄目。と一言で、一刀両断されてますた。以下ダメな点を。Hash Keyに未対応Blessed Referenceに未対応と駄目な点を挙げ...
UTF-8 フラグと戦う人へ 〜Storable の bugfix なんか待ってられない編【にぽたん研究所】at 2005年09月24日 14:46

