perl の length を web で調べると、「バイト数」と載っていることが多いが、
社内のあるプログラムを修正しようとしていたとき、「文字数」になってしまう現象があった。
原因を調べると、use utf8; をしていると、utf8 フラグが立ち、文字数になるようす。
確かに、utf8 なのだから、バイト数で出されても困る場面が多いのは分かるのだが、
全角、半角で表示を調整しようとしているときには、正直困った。
何かいい方法はあるのだろうか。
というか、sprintf の フォーマットで %20s とか書いても、文字数で判断されたら、ぜんぜんフォーマットとして役に立たない・・・。
参考にしたサイト:
http://www.hikoboshi.org/perl/doc/encode.html