in reply to Text::CSV_XS Issue

Text::CSV_XS and Text::CSV only quote when needed in combine () and print (). That is by design. If you want all strings quoted, there is an option to do so: always_quote, which you explicitely set to 0

always_quote By default the generated fields are quoted only, if they need to, fo +r example, if they contain the separator. If you set this attribute to a TRUE v +alue, then all fields will be quoted. This is typically easier to handle in ext +ernal applications. (Poor creatures who aren't using Text::CSV_XS. :-)
my $csv = Text::CSV_XS->new ({ binary => 1, always_quote => 1, eol => "\r\n" });

And I would advise you to use

$csv->print (*STDOUT, [ $fileName,$doc_type, $default_name, $default_description, $report_time ]);

instead of using combine () and string ().

edit: code => quote typo fixed


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^2: Text::CSV_XS Issue
by drodinthe559 (Monk) on May 28, 2009 at 19:08 UTC
    Why are you resistant to using combine or string?
      • Efficiency. Both in speed and memory use
      • Readability. It's more terse and easier in use
      • More in line with getline (), which is safer and faster than parse ()

      Enjoy, Have FUN! H.Merijn