文字数を数えてみる

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Encode;

# 外部から入力された文字ならば、decode して Perl の内部文字列にする
my $hiragana = 'あいうえお';
my $hiragana_and_numeric = '01234と56789';

print encode('utf-8', "ひらがなは「" . length($hiragana) . "文字」です。\n");
print encode('utf-8', "ひらがなと数字で「" . length($hiragana_and_numeric) . "文字」です。\n\n");

my $u = substr($hiragana, 2, 1);
print encode('utf-8', "この文字は「" . $u . "」です。\n\n");

my $from_0 = substr($hiragana_and_numeric, 0, 6);
my $from_last = substr($hiragana_and_numeric, -6, 6);
print encode('utf-8', "文頭から6文字目までの文字は「" . $from_0 . "」です。\n");
print encode('utf-8', "文末から6文字目までの文字は「" . $from_last . "」です。\n");

実行結果。

ひらがなは5文字です。
ひらがなと数字で11文字です。

この文字は「う」です。

文頭から6文字目までの文字は「01234と」です。
文末から6文字目までの文字は「と56789」です。