UTF8のデータを、Jcode.pmで全角半角カナ変換して文字化け

Jcode.pmで、h2zというメソッドがあり、これを使うと、半角カナを全角カナにできるってことだったので、下記のように実装(ファイルはUTF8で保存)

use Jcode;
use utf8;

my $str = 'アイウエオ';
my $obj = Jcode->new($str,'utf8');
		
#半角カナを全角カナに変換
$str = $obj->h2z->utf8;

print $str;

こうすると、半角カナは全角カナになったんだけど、いくつかの漢字が文字化け。
調べてみると、Jcodeは内部で一度eucにして変換かけてるらしいので、UTF8のみ対応する漢字が含まれていると文字化けする。

ここhttp://d.hatena.ne.jp/dayflower/20060530/1148951624を参考に、Unicode::Japanese使って対策。下記のように実装したら問題なし!

use Unicode::Japanese;
use utf8;

my $str = 'アイウエオ';

$str = Unicode::Japanese->new($str,'utf8')->h2zKana->get;

print $str;