Completely wrong. All of it. Text::CSV_XS automatically deals with CR and/or NL in CSV streams/files.
When in doubt, read the manpage:
2023 "EIQ - QUO character not allowed"
Sequences like "foo "bar" baz",quux and 2023,",2008-04-05,"Foo, Bar",\
+n will cause this error.
update: Sorry for that tone. I got sidetracked by the wrong paste in the OT. He used a message-code mismatch. I look at codes
2032 "EIF - CR char inside unquoted, not part of EOL"
2032 != 2023. Most of the time, NOT passing eol to the constructor is likely to solve the issue
Enjoy, Have FUN! H.Merijn