A reference to $1 is a reference to $1 always
my $l; our $p;
my ($r1,$rl,$rp) = (\$1,\$l,\$p);
'foo' =~ /(.*)/; $l = $p = $1;
print "$$r1 $$rl $$rp\n"; # foo foo foo
{
my $l; local $p;
'bar' =~ /(.*)/; $l = $p = $1;
print "$$r1 $$rl $$rp\n"; # bar foo foo
}
print "$$r1 $$rl $$rp\n"; # foo foo foo
This in itself is not likely to be a problem