Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: Splitting a line on just commas

by ikegami (Patriarch)
on Jun 14, 2010 at 17:39 UTC ( [id://844676]=note: print w/replies, xml ) Need Help??


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

Ouch! Misusing split, which you attempt to fix by filtering out empty strings, which leads to warnings and the removal of empty fields.

Thing being separated vvvvvvv /(?:\,|(\".*?\"))/ ^^ Separator

How are those two things on equal footing?

Replies are listed 'Best First'.
Re^3: Splitting a line on just commas
by deMize (Monk) on Jun 14, 2010 at 17:51 UTC
    Response: I was about to say, you might want to remove all the undefined created by the unmatched parens, before removing the blank fields.
    @values = grep{defined} @values; @values = grep{$_ ne ''} @values;
    or
    @values = grep{defined && $_ ne ''} @values;
    Again, I would not use this method. It's not good to remove blank string values. As for the equal footing, would this be any less equal: /(?:\,)|(\".*?\")/

    Update: I did forget to include the trailing comma after the quotes, but I still wouldn't use it: /\,|(?:(\".*?\")\,)/


    Demize
      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.
        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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-03-29 07:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found