lookaheads are expensive.  Maybe you want to use the `Text::Balanced` module, it has a `extract_codeblock` function.