The scope of regex capture variables

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

Next