use JSON 'decode_json'; use Data::Dumper; my $mangled_json = '{ "hex_code":"\\x{a5}" }'; print $mangled_json; my $json = $mangled_json; $json =~ s!\\\\!\\!g; print $json; my $structure = decode_json( $json ); $Data::Dumper::Useqq = 1; print Dumper $structure; binmode STDOUT, ':encoding(UTF-8)'; # well, hopefully, your terminal understands UTF-8 print $structure->{'hex_code'};