I did ask for interesting solutions. It's going to take me a while to understand how this works. I found in perlvar a description of @- as being an array of the indexes of the matches. Thanks for posting.
@- $-[0] is the offset of the start of the last successful match. $-[n] i +s the offset of the start of the substring matched by n-th subpattern +, or undef if the subpattern did not match. Thus, after a match against $_ , $& coincides with substr $_, $-[0], $ ++[0] - $-[0] . Similarly, $n coincides with substr $_, $-[n], $+[n] - + $-[n] if $-[n] is defined, and $+ coincides with substr $_, $-[$#-], + $+[$#-] - $-[$#-] . One can use $#- to find the last matched subgrou +p in the last successful match. Contrast with $#+ , the number of sub +groups in the regular expression. Compare with @+ . This array holds the offsets of the beginnings of the last successful +submatches in the currently active dynamic scope. $-[0] is the offset + into the string of the beginning of the entire match. The nth elemen +t of this array holds the offset of the nth submatch, so $-[1] is the + offset where $1 begins, $-[2] the offset where $2 begins, and so on.
In reply to Re^2: list of four digit lock combinations without repeated digits
by Lotus1
in thread list of four digit lock combinations without repeated digits
by Lotus1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |