Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Re: csv to flat-file

by jreades (Friar)
on Nov 28, 2002 at 09:20 UTC ( #216261=note: print w/replies, xml ) Need Help??

in reply to Re: csv to flat-file
in thread csv to flat-file

All of these solutions are great, but they all assume that you can't have a comma as part of the field value.

Given that this is almost always possible, you have two choices:

  1. If commas as part of the field are escaped, then you can use a negative look-behind assertion:split(/(?<!\\),/, $line)
  2. If commas are not escaped, but can form part of a field delimitted with quotation-marks of some kind (" or ') then things get a lot uglier. I believe that there's a regex that could do it, but I could never figure it out and had to switch to a while loop and essentially chew through a line.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://216261]
[marioroy]: LA, yeah. than there's no reason why it cannot work inside qx. But chatting is hard in PM. I cannot see the code now.
[shmem]: Lady_Aleena: sometimes a quick glance isn't enough.
[Lady_Aleena]: What?! Can't stat ~/Music: No such file or directory? The ~/ doesn't expand?
[Lady_Aleena]: And the env variable $HOME doesn't work either. !@#$
[shmem]: no, that's a shell feature. Use $ENV{HOME}
[marioroy]: my $ans = qx{ find \$HOME -name "*.pl" -exec ls -l {} \\; };

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2017-04-23 21:00 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (432 votes). Check out past polls.