> Any code you call -- library routines etc. -- after you run the regex, but before you want to use its results, might also use the regex engine and overwrite those temporary global variables

Invoking the regex engine in a different scope doesn't matter, the variables are properly dynamically scoped:

#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; sub call_me { "xyz" =~ /(..)/; say $1; } "abc" =~ /(.)/; call_me(); say $1; # Still "a".

Which doesn't mean I recommend using them.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

In reply to Re^4: non-capture mode sometimes erases previous capture by choroba
in thread non-capture mode sometimes erases previous capture by raygun

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":