=over =item @LAST_MATCH_START =item @- $-[0] is the offset of the start of the last successful match. C<$-[>I<n>C<]> is the offset of the start of the substring matched by I<n>-th subpattern, or undef if the subpattern did not match. Thus after a match against $_, $& coincides with C<substr $_, $-[0], $+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n], $+[n] - $-[n]> if C<$-[n]> is defined, and $+ coincides with C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the last matched subgroup in the last successful match. Contrast with C<$#+>, the number of subgroups in the regular expression. Compare with C<@+>. This array holds the offsets of the beginnings of the last successful submatches in the currently active dynamic scope. C<$-[0]> is the offset into the string of the beginning of the entire match. The I<n>th element of this array holds the offset of the I<n>th submatch, so C<$-[1]> is the offset where $1 begins, C<$-[2]> the offset where $2 begins, and so on. After a match against some variable $var: =over 5 =item C<$`> is the same as C<substr($var, 0, $-[0])> =item C<$&> is the same as C<substr($var, $-[0], $+[0] - $-[0])> =item C<$'> is the same as C<substr($var, $+[0])> =item C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])> =item C<$2> is the same as C<substr($var, $-[2], $+[2] - $-[2])> =item C<$3> is the same as C<substr $var, $-[3], $+[3] - $-[3])> =back =back