ユニコード文字をコードポイントで表現する
ユニコード文字には、すべての文字にコードポイントが割り当てられています。Perlでは、ユニコード文字をコードポイントを使って表現することができます。
# あ my $str = "\x{3042}";
コードポイントで表現されたユニコード文字を含む文字列は、utf8プラグマのあるなしにかかわらず、常に内部文字列として扱われるので注意してください。つまりすでにデコードされた状態だということですね。出力するには以下のようにエンコードします。
use Encode 'encode'; print encode('UTF-8', $str);
windowsの場合はcp932を文字コードとして指定してみてください。