in reply to Repairing bad CSV
Have you tried Text::CSV_XS or Text::CSV?
Text::CSV_XS works for me all of the time, especially when the data comes from MS Excel.