Well, if you enjoy that code you are writing, that is fine.. however, there is already a module that can do most of the dirty CSV work for you.
in reply to Stripping a seemingly complicated comma-delimited file
I went to dig around at CPAN to figure out what all was available, but apparently somebody tampered with it, so CPAN is down for now.
In the meantime, modules that may help you are Text::CSV_XS and, if you are interested in using SQL syntax, perhaps DBD::CSV might be neat.
One good reason to use one of these is that if you're data gets any more complicated then what you mentioned, you might have to use some regexes which are a bit more complex, and somebody already did that work for us :-)
Update: Good golly, apparently I type too slow.. there were only 2 comments when I clicked on the comment button :-)