>>471の処理はまずいのでsubstrを使うようにします。

あと、今まで文字列はEUCで、全角半角変換を下のようにjcode.plを使ってやっていたのですが、

&jcode::tr(\$my_name, '0-9A-Za-z−' , '0-9A-Za-z-');

UTF-8だと、下のように直接書いてもかまわない。つまり、Jcodeは必要ないということでいいんでしょうか?

$my_name =~ tr/0-9A-Za-z−/0-9A-Za-z-/;
$my_name = encode('utf-8', $my_name);