This tactic will work as long as the records contain no nested quotes. The Perl distribution includes shellwords.pl which contains a function to parse lines of space delimited, optionally quoted fields. I have written a modified version of this library, quotewords.pl , which accepts any regular expression as a delimiter. You can obtain quotewords.pl from one of the Perl archives, or directly from me via email. Conclusion Data reduction is a fairly common task for Perl programs, and the method you use should be carefully tailored for the data you are operating on.
Pattern match is a good generic split function, particularly if the data are very irregular.
Dealing with quoted fields is always difficult, but the problem has been solved, so you do not have to reinvent the wheel. Use our Contacts page.