in reply to Re^3: Splitting a line on just commas
in thread Splitting a line on just commas

The point is that there's no point if removing the extra stuff if you extract the fields right in the first place. It's already been shown how to do that.

Replies are listed 'Best First'.
Re^5: Splitting a line on just commas
by deMize (Monk) on Jun 14, 2010 at 18:17 UTC
    The proper extraction method has not been shown, Anonymous came closest, but as stated, it's still a problem. He used a 2-step method, which I think the most of us were trying to solve in one step, though using [^"]* rather than .*, is necessary.


    Demize

      Whoa, how did you come to think that using two steps makes it wrong. Besides, you can easily make it take one step by changing it to

      my @fields = $s =~ /("[^"]*"|[^,]*)(?:,|$)/g;

      Of course, there's still the question of values with quotes or newlines, space around the comma, etc. But yours didn't even attempt at handling any of those either.

      The proper extraction method has not been shown

      Seeing the mess that's resulting from people trying to reinvent the wheel, I'd argue I showed the proper extraction method.

      [ Duplicate post. Please ignore.]

      Whoa, how did you come to think that using two steps makes it wrong. Besides, you can easily make it take one step by changing it to

      my @fields = $s =~ /("[^"]*"|[^,]*)(?:,|$)/g;

      Of course, there's still the question of values with quotes or newlines, space around the comma, etc. But yours didn't even attempt at handling any of those either.

      The proper extraction method has not been shown

      Seeing the mess that's resulting from people trying to reinvent the wheel, I'd argue I showed the proper extraction method.