The special variable
$+ will hold the same contents as the last matched capture. But which one is that? That is, given a set of possibilities
(foo)|(bar)|(baz)
I'll get something in either $1, $2, or $3. Depending on which case matched, I want to do different logic. I can do something like this:
if (defined $1) { sub1 }
elseif (defined $2) { sub2 }
...
But I'm thinking that something along the lines of
$sub[$n]->();
would be much better, if only I knew the value of n. Computing it by looking at the definedness of each capture is just as bad as doing the work directly as above, so don't bother.
It seems to me that there should be a value for this somewhere. Anybody know for sure, or know of an elegant way to find which $n is chosen by $+?
—John
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.