in reply to DBD::CSV handles embedded CR-LFs fine!
in thread Finding CR-LFs within quoted CSV fields

I've figured out the problem,
I'm glad for you! :-)
and it has nothing to do with DBD::CSV.
I'm glad for me! :-)
Of course, if there's a nifty setting to handle unescaped quotes, I'd be glad to learn of it!)
Are the fields already quote delimited? In other words do they resemble number 1 or number 2?
   1. "foo","bad " bad","bar"
   2. foo,bad " bad,bar   
If you have records of type #1, I don't have much to suggest beyond the pre-processing you are already doing. If your records are of type #2, however, you ought to be able to handle that all within DBD::CSV. Set csv_delim_char to undef, in which case the stray quote will not be an embedded delimiter, it will just be a quote because you will have set the delimiter character to be undef rather than double-quote. If that won't work, show us some data and maybe someone will have a suggestion.

Thanks for following up to let us know how it turned out.

  • Comment on Re: DBD::CSV handles embedded CR-LFs fine!

Replies are listed 'Best First'.
Embedded unescaped quotes in quoted fields
by Wally Hartshorn (Hermit) on Jun 15, 2004 at 13:56 UTC

    The data is like type #1, unfortunately. It would be something like this:

    "Smith","John",12/31/1962,"Author of "How to Break Programs" and other books","Bugger"

    I'm using a series regexes to change that to:

    "Smith","John",12/31/1962,"Author of ""How to Break Programs"" and other books","Bugger"

    It would be nice if the user just gave us a valid CSV file to begin with, but....

    Thanks, and sorry for the confusion!

    Wally Hartshorn