$re = qr /begin (?: (?>[^be]*) |(??{ $re }) | [be] )* end/x;