The numbered variables ($1, $2, $3, etc.) and the related punctuation
set ($+, $&, $`, $', and $^N) are all dynamically scoped until the end
of the enclosing block or until the next successful match, whichever
comes first. (See "Compound Statements" in perlsyn.)