Changes to Spreadsheet::Edit, Spreadsheet::Edit::IO, and/or Spreadsheet::Edit::Log 1000.025 : Require Data::Dumper::Interp 7.012 to get portability fixes 1000.023 : Yet more debug code to diagnose Windows smoker failures... 1000.022 : Small changes, hunting for Windows smoker failures. 1000.021 : Allow completely-redundant alias definitions; Added btw* test cases. 1000.020 : Fix bug with BOM+empty files. 1000.019 : Fix leading-zero .csv corruption bug which came back in 1000.018 Fix BOM-related test issues on Windows. 1000.018 : Support reading csv files with a BOM 1000.016 : Avoid warnings about !$foo ne $bar with perl v5.41.5 1000.016 : Allow {data_soruce} as option to read_spreadsheet() 1000.015 : Add sort_indicies() method. Remove unused t/LpodhTestUtils.pm Add btwN, btwbt added to Spreadsheet::Edit::Log 1000.014 : Revised algo used to search for an OO/LL installation 1000.013 : Require Data::Dumper::Interp 7.003 (to fix API change issue) 1000.012 : Put back first/last_data_rx (reverts removal in 1000.009). sort_rows() needs them to be useful in multi-section sheets. 1000.011 : Tester fixes for Windows 1000.010 : Misc. fixes; Enhanced btwN with mini-backtrace etc. 1000.009 : Remove first/last_data_rx. Detect title clashes in insert_cols 1000.008 : Fix AUTHOR_TESTING test plan glitch 1000.007 : Elide internal frames in backtraces in apply handlers (exc. w debug) Fix bug where $@ and $_ were clobbered by btw() and btwN(). Spreadsheet::Edit::Log ':btw=PREFIX' now generates both btw & btwN. 1000.006 : Add openlibreoffice_path() and friends to Spreadsheet::Edit::IO 1000.004 : Add Spreadsheet::Edit::Log :btw=PFX and :btwN=PFX import tags 1000.003 : Handle symlink issues on Windows 1000.002 : Data::Dumper::Interp 6.002; test libs; white space fixes. 1000.001 : Bumped the version to be > 999.999 to fix a $VERSION problem (see https://www.perlmonks.org/?node_id=11153160) 3.031 : Fix date format auto-detection when importing CSV 3.015->3.030 : Fixed various portability issues, particularly for Windows 3.014 : IO::convert_spreadsheet() reworked: Auto-detect CSV import column formats when possible to avoid corruption when converted to a spreadsheet. Mainly this is to specify "text" format for things which would be spoiled if read as a number e.g. zip codes with leading zeroes. Also detects MM/DD/YY vs DD/MM/YY when the DD happens to be > 12. Import formats may be provided explicitly with option col_formats => [...] The value is a list of codes for columns: "text", "MM/DD/YY", "DD/MM/YY", or undef/empty for Standard (e.g. generic number), or equivalent OO/LO Format Code numbers See https://wiki.documentfoundation.org/Documentation/DevGuide/Spreadsheet_Documents#Filter_Options_for_the_CSV_Filter Now csv->ods->csv round trip is usually completely clean. 3.010 : Clean up auto-detect of encoding and quote & separator characters in csv files. It first tries the obvious: UTF-8, '"' and ",", but should now work automatically with \t separators. Override with input_encoding => "UTF-8", # for example quote_char => '"', sep_char => ',' ---- Support CSV transcoding e.g. convert_spreadsheet( inpath => "file_in_utf16.csv", cvt_to => "csv", output_encoding => "UTF-8" ) will auto-detect the input encoding (using BOM if present) and transcode to a UTF-8 outpath. --- Separate and generalize the logging functions into Spreadsheet::Edit::Log . --- 3.009 : Switch tests from Test::More to Test2::V0