in reply to Issue with Loop when Apostrophe in Field

The documentation on Text::ParseWords is pretty sparse, but looking at the tests, it appears to me that it treats pairs of single-quotes (apostrophes) like an alternative to pairs of double-quotes (quotes). Since there is only one apostrophe, my guess is that it is not seeing the end-single-quote, and so not returning any list because of invalid data (in its opinion.

Oh, apparently I do have Text::ParseWords, so I tried it:

C:>perl -MText::ParseWords -le "print for quotewords ',', 0, qq(First, +Second,Third) " First Second Third C:>perl -MText::ParseWords -le "print for quotewords ',', 0, qq(First, +Second 'Line',Third) " First Second Line Third C:>perl -MText::ParseWords -le "print for quotewords ',', 0, qq(First, +Second 'Line',it's not a bug) " C:\usr\local\share>perl -MText::ParseWords -le "print for quotewords ' +,', 0, qq(First,Second 'Line',it's not a bug,it's a feature) " First Second Line its not a bug,its a feature C:>

Yep, quotewords recognizes apostrophes/single-quotes as quotes, so you cannot have unpaired apostrophes.

addendum: any reason you aren't using Text::CSV_XS for dealing with CSV? /addendum