I'd recommend Text::xSV (written by our tilly), which solves some edge cases that Text::CSV misses, and allows any single-character separator to be used.
------
We are the carpenters and bricklayers of the Information Age.
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.