Text::CSV provides facilities for the composition and decomposition of comma-separated values using Text::CSV_XS or its pure Perl version. An instance of the Text::CSV class can combine fields into a CSV string and parse a CSV string into fields. The module accepts either strings or files as input and can utilize any user-specified characters as delimiters, separators, and escapes so it is perhaps better called ASV (anything separated values) rather than just CSV. This module is compatible with Text::CSV_XS 0.99 and later (except for diag_verbose and allow_unquoted_escape).