The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Data::Tools

1.43 2024-03-23

   - added Data::Tools::Process module for process management
   - added daemonize() function in Data::Tools::Process
   - moved cmd_fork_exec() from Data::Tools to Data::Tools::Process

1.42 2023-08-15

   - version and git repo cleanup

1.41 2023-08-11

    - added new plain hash key=value protocol to Data::Tools::Socket::Protocols.

1.40 2023-07-08

    - added Data::Tools::Socket::Protocols

1.30 2022-05-18

    Data::Tools::CSV
    
    - added optional parameter to specify different delimiter (default ',').

1.29 2022-04-17

    Data::Tools::Time

    - added definition of julian_date_from_utime()
    - make julian_date_from_ymd( year, month, day ) to allow optional day, or month and day
    - added julian_date_from_md( month, day )

1.28 2022-04-04

    - CSV parse code fixed to handle trailing fields with wrong count of "s
    - added more information to Data::Tools::CSV

1.27 2022-04-02

    - added Data::Tools::CSV modules for parsing RFC4180 style CSV files.

1.25 2022-02-08

    - added new ftwalk
    - fixed str_html_escape (well typo)

1.24 2020-06-22

    - reimplemented str_hex/unhex to use unpack/pack (of course!)
         thanks to String::HexConvert for reminding me that pack 
         is always here :)

    - added separate binary and text file load/save api. 
    
      new functions:
      
          # always binary data load
          file_bin_load( $file_name )

          # always binary data save
          file_bin_save( $file_name, @data, $data, 'data', 123 )
          
      new functions:
          
          # always text data load
          file_text_load( $file_name )

          # always text data load, returns array ref of read data
          file_text_load( $file_name )

          # always text data save
          file_text_save( $file_name, @data, $data, 'data', 123 )
          
      the old encoding defaults to file load/save:
      
          data_tools_set_file_io_encoding( 'cp1251' );
          data_tools_set_file_io_encoding( 'UTF-8'  );
          data_tools_set_file_io_utf8();
          
       still works but will only relate to file_text_* functions.
       
       NOTE: WARNING!
       currently old file_load()/file_save() will default to the old
       behaviour but will be switched to binary only!
       
       NOTE: WARNING!
       file_text_* api will have second optional hashref with operation
       options. for saving, it is uncommon to provide hashref so it will
       be used as options if given.
       
          

1.20 2019-01-18

    - added julian_date_* functions to Data::Tools::Time

1.19 2018-08-31

    - changed escaping style of hash2str() and str2hash()
    - old style, url-escaping are renamed as hash2str_url() and str2hash_url()
    - added hash2str_keys() to allow to specify certain keys order, check docs
    - added hash_save_url() and hash_load_url()
    - added hash_save_keys() to use hash2str_keys(), check docs

1.18 2018-08-10

    - added data_tools_set_file_io_encoding()
    - fixed various file IO encoding issues

1.17 2018-08-07

    - str_num_comma() can accept second argument--padding symbol or string

1.16 2018-07-19

    - added Data::Tools::Math functions
    - added file_load_ar()

1.15 2018-03-31

    - file name path functions added
    - socket read len fixed

1.14 2016-11-30

    - added Data::Tools::Time utilities
    - added Data::Tools::Socket docs
    - added Data::Tools::Time test t/t1-time-diff.pl

1.12 2016-09-16

    - fixed type in Data::Tools::Socket

1.11 2016-09-05 CADE

    - added Data::Tools::Socket utilities

1.10 2016-01-27 CADE

    - fixed non-obvious iterator behaviour of File::Glob inside glob_tree()

1.09 2016-01-03 CADE

    - added:
        hash_keys_lock_recursive

1.08 2015-09-30 CADE

    - added:
        file_mtime  
        file_ctime  
        file_atime  
        file_size  

1.07 2015-09-24 CADE

    - added hash_lock_recursive()
            hash_unlock_recursive()
      to handle missing functionality until perl 5.22 etc.
    - moved to cpan changelog syntax  
    - added glob_tree()

1.06 2013-07-03 CADE
  
    - added more features to hash_validate()
    - changed version to reupload to CPAN

1.05 2013-07-03 CADE
  
    - hash_validate()
    - more docs, "required modules", "see also"

1.04  2013-05-24 CADE

    - changed github urls

1.03  2013-05-04 CADE
  
    - added hash_uc()/hash_lc()

1.02  2013-03-24 CADE

    - added digest funcs
    - fixed docs
    - added github info

1.01  2013-03-07 CADE

    - fixed names in the docs

1.00  2013-03-06 CADE

    - history lost, initial CPAN release