in reply to Re^3: non-capture mode sometimes erases previous capture
in thread non-capture mode sometimes erases previous capture

> 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,