Note that Text::CSV probably isn't the best CSV parsing module to use. There are a large number of characters that it considers to be illegal, e.g. UK pound symbol, £, among many others. I've doctored my copy to handle them, but others have recommended the use of Text::CSV_XS and Text::xSV if you want more out of a CSV parser.