utf8フラグ付き文字列の大きさ


 文字列のサイズの取得にはlength関数を使いますが、utf8フラグがついていると文字数が返ってきます。
 文字数ではなくバイト数が欲しい場合にはencodeしてからlength関数を使います。
use strict;
use warnings;
use v5.10;
use utf8;
use Encode;

my $text = 'Perlで書く';

say "length: ", length $text; # 7
say "utf8  : ", length Encode::encode('utf8', $text); # 13
say "cp932 : ", length Encode::encode('cp932', $text); # 10
say "euc-jp: ", length Encode::encode('euc-jp', $text); # 10

関連項目

length関数
文字列長の取得