Help for this page
$str = ' blah blah blah blah ... [blah blah] [blah blah blah blah] blah] blah blah';
my $re = qr{\[(?:(?>[^\[\]]+)|(??{$re}))*\]}s; for (;;) { last unless $tempstr =~ s/(\[\w+?\s*=\s*($re|\n|[^\[\] +])+\])/&assign($1)/gies; }