From 29dab69920aa75205c5ed6ddda335759c0dac74e Mon Sep 17 00:00:00 2001 From: miker Date: Sat, 12 Mar 2005 01:12:43 +0000 Subject: [PATCH] working regex! git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@218 9efc2488-bf62-4759-914b-345cdb29e865 --- src/perlmods/JSON.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/perlmods/JSON.pm b/src/perlmods/JSON.pm index 1893cdf..653b622 100644 --- a/src/perlmods/JSON.pm +++ b/src/perlmods/JSON.pm @@ -89,12 +89,13 @@ sub JSON2perl { s/\/\*--\s*S\w*?\s+\S+\s*--\*\// bless(/sog; s/(\]|\}|")\s*\/\*--\s*E\w*?\s+(\S+)\s*--\*\//$1 => _json_hint_to_class("$1", "$2")) /sog; + my $re = qr/((?(?<=\\)"|[^"])*(? /sog; @@ -107,7 +108,6 @@ sub JSON2perl { s/true/ bless( {}, "JSON::bool::true") /sog; s/false/ bless( {}, "JSON::bool::false") /sog; - my $ret; return eval '$ret = '.$_; } @@ -217,7 +217,8 @@ sub perl2JSON { JSON->register_class_hint(name => $name, hint => $name, type => lc($type)); $output .= perl2JSON(undef,$perl); } else { - $perl =~ s/\\/\\\\/sgo; + $perl =~ s{\\}{\\\\}sgo; + $perl =~ s{\/}{\\\/}sgo; $perl =~ s/"/\\"/sgo; $perl =~ s/\t/\\t/sgo; $perl =~ s/\f/\\f/sgo; -- 2.43.2