あるプログラマーのリハビリ

unicode絡みで気になる話があって、\uXXXXみたいな数字からUTF-8にしてどう
なっているかを表示するプログラムをperlrubyで書いてみた。久しぶりに手
を出したおかげでえらく時間がかかったが、実際のプログラムを書いてみたら、
こんなに簡単なんだっけ、というレベル。

最近プログラムを書いていないとはいえ、これでこんなに時間がかかるのは恥
ずかしい。なんとか感覚を取り戻していかないと。ゆっくりリハビリしていこ

rubyだとこんな感じ

def makeUtf8(arg)
    # \uXXXXをpackする
    arg.gsub!(/\\u(\w{4})/) {|m|
        m=$1
        [m.hex].pack("U")
    }

    print "[xxx]\n", arg, "\n[xxx]\n"
end

perlだとこんな感じ

sub makeutf8 {
    $test = shift;

    # \uxxxxをUTF8に直す
    $test =~ s/\\u(\w{4})/pack("U",hex($1))/eg;
    print "[xxx]\n", $test, "\n[xxx]\n";
}