1.8 Unicode合成文字を1つの文字として扱う
合成文字を含むUnicode文字列がある。これらの文字シーケンスのそれぞれを1つの論理文字として扱いたい(通常の文字はそのままで、基底文字と結合文字のペアは1つの文字として扱いたい)。
# 正規表現の\Xを利用すれば、基底文字と結合文字のペアを1つの文字として扱える。 $string = "fac\x{0327}ade"; $string =~ /fa.ade"; # マッチしない $string =~ /fa\Xade/; # マッチする @chars = split(//, $string); # @charsには7つの文字が格納される。 @chars = $string =~ /(.)/g; # 同上 @chars = $string =~ /(\X)/g; # @charsには6つの文字が格納される。