電子書籍の厳選無料作品が豊富!

アルファベットだけなら簡単なのですが、日本語が混ざると自分には難しいようです。。

下のスクリプトは「日本語も含めた文字列の文字数の取得」と検索して出てきたのですが、


sub mojisuu
{
my $moji = shift;
my $kazu = 0;
while( $moji =~ m/
[\x00-\x7F\xA1-\xDF]|
[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]
/gx
) {
$kazu++;
}
}

どうにもうまく動きません。$moji に「ss」と入れても、 $kazu が 0のままです。
日本語も含めた文字数の取得はどのようにすれば出来るでしょうか??分かる方いらっしゃったらご教授頂けると幸いです。

A 回答 (1件)

$moji に ss と入れるのではなくて、


$len = &mojisuu($ss);
のように使います。

use encoding "shifijis";
$len = length($ss);
でいいですけど
    • good
    • 0
この回答へのお礼

回答ありがとうございます!解決しました。
多謝です!

お礼日時:2006/02/23 03:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!