日本語を一文字ずつ分割する
そういや日本語文字列を分割する方法を知らなかった.
split //, $string
で文字ごとに分割できる.utf8フラグがついていないと1byteごと
#!/usr/bin/perl use strict; use warnings; use Encode; my $str = 'hogeはbarです'; utf8::decode($str); # utfフラグをつける my @chars = split //, $str; # 一文字ずつに分割 foreach my $char ( @chars ) { utf8::encode($char); # フラグ落とし print $char, "\n"; } __END__ # 出力結果 h o g e は b a r で す
ちなみにutf8フラグ付与,落としはこれでも良い
$ustr = decode_utf8($str); $str = encode_utf8($ustr);