After a match against some variable $var:
$` is the same as substr($var, 0, $-[0])
$& is the same as substr($var, $-[0], $+[0] - $-[0])
$' is the same as substr($var, $+[0])
$1 is the same as substr($var, $-[1], $+[1] - $-[1])
$2 is the same as substr($var, $-[2], $+[2] - $-[2])
$3 is the same as substr $var, $-[3], $+[3] - $-[3])
####
use strict;
for my $regex (qr/(.)oo(.)ar(.)az/, qr/fo(.)barba(.)/) {
my $str = "foobarbaz";
$str =~ s/$regex/
my @a;
for my $index (1 .. $#+) {
push @a, substr($str, $-[$index], $+[$index] - $-[$index]);
}
join "," , @a;
/e;
print "$str\n";
}
####
f,b,b
o,z