utf8::is_utf8
miyagawaさんが#catalystでいってたことやっと理解できた、きがする。
use Data::Dumper;
my $s = "H\x{c3}\x{ab}llo";
utf8::decode($s);
warn Dumper $s; # => "H\x{eb}llo"
warn utf8::is_utf8($s) # => 1
だけれども
my $s = "H\x{eb}llo";
warn utf8::is_utf8($s) # => Warning: something's wrong
ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}"
などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、
そもそも ë が latin-1 では "\x{eb}"
だけど utf-8 では "\x{c4}\x{ab}"
であるということを僕が認識してなかったせいでおかしなことになった。すみません。