my $braces = qr/(? { (?: (?: [^{}] | (?&braces) )*+ )* } )/x;