Hatena::Groupsubtech

冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

 | 

Mar 23, 2010 (Tue)

Perl, utf8 フラグ, ハッシュ, リテラル, => 16:27 はてなブックマーク - Perl, utf8 フラグ, ハッシュ, リテラル, => - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。

miyagawa さんに教えて頂いたのですが、Perl のバグらしく、解決するためには => の左をクオートするか、Perl を 5.12 にすればいいらしいです。

{
    use utf8;
    my $a = [ foo => "bar" ];
    warn utf8::is_utf8($a->[0]); #=> true
    warn utf8::is_utf8($a->[1]); #=> false
};

{
    no utf8;
    my $a = [ foo => "bar" ];
    warn utf8::is_utf8($a->[0]); #=> false
    warn utf8::is_utf8($a->[1]); #=> false
};

死ぬほどハマった。

use Encode;
use HTTP::Request::Common;
use Data::Dumper;

{
    use utf8;
    my $s = encode_utf8("ああああ");
    my $req = POST "/", [ test => $s ];
    warn Dumper $req ;
};

print "\n\n";

{
    no utf8;
    my $s = "ああああ";
    my $req = POST "/", [ test => $s ];
    warn Dumper $req ;
};

みたいなとき、まず気付かない……

 | 

スポンサード リンク

書いてる人

cho45 (佐藤広央) (www.lowreal.net)

Perl, JavaScript, Ruby, HTML, CSS, Web etc


スポンサード リンク