use Encode; $_ = "\u6b63"; $_ =~ s/\\u(.{4})/chr($1)/eg; $char = "\\x{$_}"; print "raw is $char \n"; print "decode is " . Encode::decode("unicode", $char). "\n"; __UNDESIRED OUTPUT__ raw is \x{6b63} decode is \x{6b63}