Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: The future of Text::CSV_XS - TODO

by Tux (Canon)
on Mar 21, 2018 at 14:42 UTC ( [id://1211425]=note: print w/replies, xml ) Need Help??


in reply to The future of Text::CSV_XS - TODO

A lot of water flowed through many rivers and a lot of tests have been executed since 1.10. I'll show the highlights ...

My reason to join PerlMonks many eons ago was to get a grasp on what CSV problems were encountered by users of CSV parsers, and I am so happy with all the feedback I got both here and in the ChatterBox.

THANK YOU ALL!

The git repo now has a documentation section with preformatted HTML en MarkDown.

1.35 - 2018-03-21

  • Make detect_bom result available
  • Add csv (out => \"skip") - suppress output deliberately
  • Allow sub as top-level filter

1.34 - 2017-11-05

  • Bad arg for formula (like "craok") will now die with error 1500
  • Add a prominent section about BOM handling
  • Make sheet label more portable (csv2xlsx)
  • Allow munge => \%hash
  • Preserve first row in csv (set_column_names => 0)

1.33 - 2017-10-19

  • Add support for formula actions (issue 11)

1.32 - 2017-09-15

  • Add keep_headers attribute to csv ()
  • Fail on invalid arguments to csv
  • Fix header method on EOL = CR (RT#122764)

1.31 - 2017-06-13

  • Fix already decoded BOM in headers
  • New options in csv-check
  • "escape" is alias for "escape_char" for consistency.
  • Improve csv-check auto-sep-detection

1.30 - 2017-06-08

  • Disable escape_null for undefined escape_char
  • Fix ->say for bound columns (RT#121576)

1.29 - 2017-04-25

  • New attribute "strict" (also addresses RT#121350)

1.28 - 2017-03-22

  • Fix length problem with bound empty fields and UTF-8 (RT#120655)

1.27 - 2017-03-02

  • Attribute sep/sep_char is not allowed to be undefined
  • Increased test coverage: added errors 1008 and 1014
  • Default for escape_null in csv () is now false
  • New error code for illegal argument(s)/parameter(s) (RT#119827)
  • Fix tests for perl without dot in @INC
  • Fix crlf issue for csv () on Windows (RT#120466)

1.26 - 2016-11-29

  • is_missing (0) on empty line returns 1 for keep_meta_info = true

1.25 - 2016-08-28

  • Allow lc, uc, and coderef for csv () headers attribute
  • Document for eof when the last line has an error (RT#115954)
  • Allow csv () to call header () with all supported arguments

1.24 - 2016-07-09

  • Set auto-wrap on for csv2xls with embedded newlines
  • Add examples/csv2xlsx, the MSExcel-2007+ version of csv2xls
    Includes new feature to merge multiple CSV's into a single xlsx
  • Fix parse error in complex option combo (RT#115953)

1.23 - 2016-03-25

  • Skip unsupported encodings
  • Fix crash on error in parsing with bound columns (RT#113279)
  • Add predefined filters (not_blank, not_empty, filled)

1.22 - 2016-02-23

  • Add new method header

1.21 - 2016-01-06

  • Alias %_ to row in hashref mode for csv function attributes on_in and before_out
  • Fix \r\n ending with allow_loose_escapes (reported by Bas Bloemsaat)

1.20 - 2015-10-09

  • Add known_attributes function/method
  • Add contributor notes
  • Allow undef as value for aliased attributes

1.19 - 2015-06-17

  • Guard tests against $PERL_UNICODE
  • Numeric options were sometimes interpreted as boolean
  • Safer meta_info use

1.18 - 2015-05-22

  • Add quote_empty attribute
  • Add database NULL documentation
  • Inherit csv attributes in csv () when called in void context
  • micro-optimisation for combine/print (empty fields will be faster)

1.17 - 2015-04-24

  • Enable overruling $csv in csv ()
  • Allow encoding to be shortened to enc in csv ()
  • Allow filter to alter content
  • Add say (print with default eol => $\)
  • Allow MS sep=; on first line (RT#100304)

1.16 - 2015-03-02

  • filter made more useful (access to other fields)

1.15 - 2015-02-11

  • Remove perl recommendation from META as it breaks cpan clients

1.14 - 2015-02-02

  • Move to github
  • Add csv (filter => {});

1.13 - 2015-01-03

  • Fix quote_binary (#RT100676)
  • Fix csv () for hashrefs with aliased headers

1.12 - 2014-11-01

  • Add field number to error_diag
  • Fixed non-IO parsing multi-byte EOL
  • Fixed a possible missed multi-byte EOL
  • Allow hashref for csv ()'s headers attribute
  • Allow encoding on all output handles in csv ()
  • Include doc changes as ticketed in the Text::CSV queue
  • Fix parallel testing issue
  • Allow csv as method call (not using the object)
  • Rename quote_null to escape_null
  • Give meaning to keep_meta_info on output (RT#99941)

1.11 - 2014-08-16

  • Fixed eof (RT#97742)
  • Check for attribute conflicts early
  • csv (in => ..) now defaults to *STDOUT for out
  • Support for multi-byte quote_char
  • New attribute "key" for csv ()

Enjoy, Have FUN! H.Merijn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1211425]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2024-04-19 16:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found