in reply to How to parse a tab delimited file

I have used Text::CSV_XS to do this, but I found Text::Delimited to be easier to use because it parses the data into nice hashrefs similar to what comes out of DBI's fetchrow_hashref().