全角括弧の半角変換

[takeyuki@sunya pbird]$ echo $LANG
ja_JP.UTF-8
[takeyuki@sunya ~]$ echo "()" | perl -pe 'tr{()}{()}'
())())

なんだこれは。全角「(」が半角「()」に変換されたように見える。

[takeyuki@sunya ~]$ echo "()" | perl -Mutf8 -pe 'tr{()}{()}'
()

これは変換されてない。まあ妥当か。

[takeyuki@sunya ~]$ echo "()" | perl -Mutf8 -MEncode -pe '$_=decode_utf8($_); tr{()}{()}; $_=encode_utf8($_)'
()

これが正しい。