in reply to Regexp nightmare with CSV

You want Text::CSV_XS. It works wonderfully, and is flexible as you can want it. Embedded carriage returns? Comma separators are actually pipes? No problem.

(And, as an aside, this question just reinforces my thoughts about needing a corrolary to TMTOWTDI.)

xoxo,
Andy

%_=split/;/,".;;n;u;e;ot;t;her;c; ".   #   Andy Lester
'Perl ;@; a;a;j;m;er;y;t;p;n;d;s;o;'.  #   http://petdance.com
"hack";print map delete$_{$_},split//,q<   andy@petdance.com   >