Text::CSV_XS provides facilities for the composition and decomposition of comma-separated values. An instance of the Text::CSV_XS class can combine fields into a CSV string and parse a CSV string into fields. . A pure-perl version is being maintained by Makamaka Hannyaharamitu as Text::CSV_PP, which tries to follow Text::CSV_XS very closely. . Text::CSV is a wrapper module over Text::CSV_XS and Text::CSV_PP that will select Text::CSV_XS if available, and otherwise use Text::PP. . Text::CSV_PP and Text::CSV are available in the libtext-csv-perl package.