in reply to Re: Re: Matching nested begin/ends
in thread Matching nested begin/ends

Also, /begin.*end/ will allow a begin followed by an end, which will allow an item like beginbeginend to pass with no problems;
So does your regex:
$re = /begin (?: (?>[^be]*) |(??{ $re }) | [be] )* end/x; "begin begin end" =~ /$re/ and print "<$&>\n"; __END__ <begin begin end>
Abigail