#!/usr/bin/perl6
my regex paren_any { '(' ~ ')' [ <-[()]>+ || <&paren_any> ]* }
say "Extract (a(b)c) and ((d)f(g))" ~~ m:g/<&paren_any>/;
say "Extract (a(b)c) and ((d)f(g))" ~~ m:ov:g/<&paren_any>/;
IyEvdXNyL2Jpbi9wZXJsNgpteSByZWdleCBwYXJlbl9hbnkgeyAnKCcgfiAnKScgWyA8LVsoKV0+KyB8fCA8JnBhcmVuX2FueT4gXSogfQpzYXkgIkV4dHJhY3QgKGEoYiljKSBhbmQgKChkKWYoZykpIiB+fiBtOmcvPCZwYXJlbl9hbnk+LzsKc2F5ICJFeHRyYWN0IChhKGIpYykgYW5kICgoZClmKGcpKSIgfn4gbTpvdjpnLzwmcGFyZW5fYW55Pi87Cgo=