1.10 Unicode文字列をオクテット単位で扱う

Unicode文字列をオクテット単位で扱いたい(例えば、その文字列の長さを計算するため、あるいは入出力を行うため)。

# use bytesプラグマを使う方法
$ff = "\x{FB00}";        # ffリガチャ(合字)
$chars = length($ff);    # 長さは1文字
{
  use bytes;             # バイトセマンティクスに変更
  $octets = length($ff); # 長さは2オクテット
}
$chars = length($ff);    # 文字セマンティクスに戻す

# Encodeモジュールを使う方法
use Encode qw(encode_utf8);

sub somefunc;                # 別の場所で定義されている

$ff = "\x{FB00}";            # ffリガチャ
$ff_oct = encode_utf8($ff)   # オクテット列に変換
$chars = somefunc($ff)       # 文字を処理
$octets = somefunc($ff_oct)  # オクテット列を処理