$csv = Text::CSV_XS->new (); is equivalent to $csv = Text::CSV_XS->new ({ quote_char => '"', escape_char => '"', sep_char => ';,', eol => '', always_quote => 0, binary => 0, keep_meta_info => 0, }); For all of the above mentioned flags, there is an accessor method available where you can inquire for the current value, or change the value my $quote = $csv->quote_char; $csv'>binary (1); : : meta_info @flags = $csv->meta_info (); This object function returns the flags of the input to "combine ()" or the flags of the resultant decomposed fields of "parse ()", whichever was called more recently. For each field, a meta_info field will hold flags that tell something about the field returned by the "fields ()" method or passed to the "combine ()" method. The flags are bitwise 'or'd like: 0x0001 The field was quoted. 0x0002 The field was binary. See the "is_*** ()" methods below. is_quoted my $quoted = $csv->is_quoted ($column_idx); Where $column_idx is the (zero-based) index of the column in the last result of "parse ()". This returns a true value if the data in the indicated column was enclused in "quote_char" quotes. This might be important for data where ",20070108," is to be treated as a numeric value, and where ","20070108"," is explicitely marked as character string data. is_binary my $binary = $csv->is_binary ($column_idx); Where $column_idx is the (zero-based) index of the column in the last result of "parse ()". This returns a true value if the data in the indicated column contained any byte in the range [\x00-\x08,\x10-\x1F,\x7F-\xFF] An example for parsing CSV lines: use Text::CSV_XS; my $csv = Text::CSV_XS->new ({ keep_meta_info => 1, binary => 1 }); my $sample_input_string = qq{"I said, ""Hi!""",Yes,"",2.34,,"1.09","\x{20ac}",}; if ($csv->parse ($sample_input_string)) { my @field = $csv->fields; foreach my $col (0 .. $#field) { my $quo = $csv->is_quoted ($col) ? $csv->{quote_char} : ""; printf "%2d: %s%s%s\n", $col, $quo, $field[$col], $quo; } } else { my $err = $csv->error_input; print "parse () failed on argument: ", $err, "\n"; }