О, всем спасибо!
Хоть я тоже до конца не понял какая кодировка на самом деле используется (вроде действительно utf16le) но все получилось:)
use Unicode::String;
sub to_hex
{
my $us = Unicode::String->new( $_[0] );
$_ = $us->hex;
s/U\+0/\\x/g;
s/\s+//g;
return $_;
};