use strict; use warnings; $| ++; sub parser { my $str = shift; $str =~ m/^\[(\d*),(.*?)\]$(?{print "1 = $1\n2 = $2\n";my $tmp = $ +2;parser($tmp) if ($tmp ne "[]")})/; } my $str = "[0,[1,[2,[3,[4,[5,[6,[7,[8,[9,[]]]]]]]]]]]"; parser $str;
use threads; use strict; use warnings; $| ++; #open(STDERR, ">", "error.txt"); sub parser { my $str = shift; $str =~ m/^\[(\d*),(.*?)\]$(??{print "1 = $1\n2 = $2\n";my $tmp = +$2;if ($tmp ne "[]") {my $t = threads->create("parser",$tmp); $t->joi +n()}})/;} my $str = "[0,[1,[2,[3,[4,[5,[6,[7,[8,[9,[]]]]]]]]]]]"; parser $str;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: revisit regexp reentrancy
by pg (Canon) on Dec 14, 2002 at 04:20 UTC |