Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: How to get ($1, $2, ...)?

by bart (Canon)
on Feb 16, 2007 at 19:29 UTC ( #600505=note: print w/replies, xml ) Need Help??

in reply to Re: How to get ($1, $2, ...)?
in thread How to get ($1, $2, ...)?

Please don't brainlessly use defined on the list of values of $1, $2 etc, because you're now throwing away information about which pairs of parens were involved in the actual match. Sometimes that's what you want, but usually, it's not.

And eric256 has the right idea for using @- and/or @+ to find out how many paren pairs were involved.

You could use these arrays, one item per array, together with substr to extract the matches without symbolic references, but then you'd have to know what variable the match was against, and it may not have been changed in the meantime, for example by using the regexp in s///g, which would foul up the result. So I think the symbolic references for the captures for a reasonably elegant approach.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://600505]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2020-01-25 19:23 GMT
Find Nodes?
    Voting Booth?