http://www.perlmonks.org?node_id=655500


in reply to data between brackets

I'd do that with Text::Balanced.

Phil

The Gantry Web Framework Book is now available.

Replies are listed 'Best First'.
Re^2: data between brackets
by Anonymous Monk on Dec 06, 2007 at 21:02 UTC
    I tried to do this to save the data between the brackets but it doesnt work. $value =~ /^.*\(.*)\)/; Any idea what I am doing wrong with the syntax ?
      That looks OK to me (Update: you have an extra closing paren after the second star or else missing the opening one), but I guess you are asking how you can capture the part in parentheses. For that, as sh1tn shows below, you need to use unescaped, plain parentheses around the part you want to capture. Then, the captured stuff will be accessible to you in $1, assuming that there was a match.

      In the OP, you say "How do I edit the $value to keep only between the brackets data". If you really mean "edit", then you should use the substitution operator, as sh1tn shows below. You can check perlop for information on it (search within that page for "replacement").

      Since this is a problem that many developers often face, there are canned, well-tested regexes that solve it, which also handle nested brackets as a bonus. See Re: regex to parse (nested) parenthesis delimited string? for an example.