in reply to Re: Re: Alternation in pattern matches
in thread Alternation in pattern matches

It just won't catch a missing closing qquote, as in TAG:"test of data. However, you can correct that like: my ( $data ) = m/TAG:(")?((?(1)[^"]+|[^"\s]+))(?(1)")/ ? $2 : 'not_def';

Replies are listed 'Best First'.
Re: Re: Re: Re: Alternation in pattern matches
by ysth (Canon) on Feb 19, 2004 at 17:29 UTC
    Sorry, was just being overly terse; in full, that would be:
    /TAG:(")?((?(1)[^"]+|[^"\s]+))(?(1)")/ ? $2 : "not_def"
    (I had thought that \1 would work instead of (?(1)")), but it makes sense that it doesn't.)
      Good idea: m/TAG:((")?)((?(2)[^"]+|[^"\s]+))\1/ ? $3 : 'not_def';, that didn't occur to me.