use Encode; $in = "\\'8d\\'4c\\'8d\\'90\\'8c\\'66\\'8d\\'da"; my $string = join( "", ( $in =~ /\\'([0-9a-f]{2})/g )); my $out = decode("cp932", pack( "H*", $string)); print "$in --> $string --> $out\n"; # assumes STDOUT is set for utf8 output