I have tried to parse a JSON5 document with more than 100 key-value pairs.
The program fails with:
Thank you in advance.
-*-*-*-*-*- begin copy-paste
use JSON5;
my $doc = <<'EOF';
{ k001: 'v001', k002: 'v002', k003: 'v003', k004: 'v004', k005: 'v005',
k006: 'v006', k007: 'v007', k008: 'v008', k009: 'v009', k010: 'v010',
k011: 'v011', k012: 'v012', k013: 'v013', k014: 'v014', k015: 'v015',
k016: 'v016', k017: 'v017', k018: 'v018', k019: 'v019', k020: 'v020',
k021: 'v021', k022: 'v022', k023: 'v023', k024: 'v024', k025: 'v025',
k026: 'v026', k027: 'v027', k028: 'v028', k029: 'v029', k030: 'v030',
k031: 'v031', k032: 'v032', k033: 'v033', k034: 'v034', k035: 'v035',
k036: 'v036', k037: 'v037', k038: 'v038', k039: 'v039', k040: 'v040',
k041: 'v041', k042: 'v042', k043: 'v043', k044: 'v044', k045: 'v045',
k046: 'v046', k047: 'v047', k048: 'v048', k049: 'v049', k050: 'v050',
k051: 'v051', k052: 'v052', k053: 'v053', k054: 'v054', k055: 'v055',
k056: 'v056', k057: 'v057', k058: 'v058', k059: 'v059', k060: 'v060',
k061: 'v061', k062: 'v062', k063: 'v063', k064: 'v064', k065: 'v065',
k066: 'v066', k067: 'v067', k068: 'v068', k069: 'v069', k070: 'v070',
k071: 'v071', k072: 'v072', k073: 'v073', k074: 'v074', k075: 'v075',
k076: 'v076', k077: 'v077', k078: 'v078', k079: 'v079', k080: 'v080',
k081: 'v081', k082: 'v082', k083: 'v083', k084: 'v084', k085: 'v085',
k086: 'v086', k087: 'v087', k088: 'v088', k089: 'v089', k090: 'v090',
k091: 'v091', k092: 'v092', k093: 'v093', k094: 'v094', k095: 'v095',
k096: 'v096', k097: 'v097', k098: 'v098', k099: 'v099',
}
EOF
my $data = decode_json5($doc);
-*-*-*-*-*- end copy-paste
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux
Copyright 1987-2023, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.
JSON5
/home/jf/perl5/lib/perl5/JSON5.pm: 0.01
/home/jf/perl5/lib/perl5/JSON5.pm: 0.01
JSON::PP
/home/jf/perl5/perlbrew/perls/perl-5.38.2/lib/5.38.2/JSON/PP.pm:
JSON::PP: 4.16
JSON::PP::IncrParser: 1.01
I have tried to parse a JSON5 document with more than 100 key-value pairs.
The program fails with:
Can you convert the tail recursion in JSON5::Parser to an iterative
processing please?
Thank you in advance.
Minimum working example:
Here are the relevant versions: