Revision history for Perl extension Table.
1.44 Sat Apr 15 04:27:28 PDT 2006
  Fix a bug in join (type=2 and 3)
  When right or full join, key fields are undef for right-only entries.

  modify fromCSV, fromTSV, tsv, csv subroutines to support read/write PC, Mac and UNIX files.
  csv and tsv can take a file name and directly writes to it.

1.43 Tue Nov  9 10:23:44 PST 2004
  Patch html so that valid XHTML code is generated
  Several mispelled words were corrected
  Thanks all to Wolfgang Dautermann

1.42 Fri Oct  8 11:56:41 PDT 2004
  Minor changes to group and pivot, not a bug

1.41 Thu Oct  7 14:04:17 CDT 2004
  Add two useful methods: group and pivot
  group can make the records unique based on given key columns
  pivot is handy to transfer database table into a more user readable format
  group+pivot make accounting operations easy, please read the document for details.

  Due to the spam, please use the following for email contact
    easydatabase at hotmail dot com

1.40 Wed Oct 15 12:11:11 CDT 2003
  Patch colMap, as suggested by Jeff Janes

1.39 Wed Mar 26 09:33:01 CST 2003
  Fix a bug in match_pattern, match_string and row_mask;
  When a new table was created by these methods, deleting columns had a
  side effect of the original parent table.

1.38 Sun Jan 19 18:26:23 CST 2003
  Change die to croak as suggested by Jeff Janes.

1.37 Tue Sep 17 17:53:55 CDT 2002
  Add $countOnly to match_string and match_pattern, thanks to Serge Batalov.

1.36 Thu Sep 12 14:47:59 CDT 2002
  Add close() to both fromTSV and fromCSV, thanks to Brian Coon.

1.35 Mon Jul  1 13:04:43 PDT 2002
  Optimization in parseCSV, thanks to Jeff Janes.

1.34 Wed May  1 12:13:33 CDT 2002
  Fix a bug in colMerge

1.33 Wed Jan 16 17:55:34 CST 2002
  Small patches to join method. Not a bug.
  Thanks to Xiao-Jun Ma

1.32 Sun Sep 30 16:21:02 CDT 2001
  No change, just update Table.html (forgot in version 1.31)

1.31 Wed Sep 20 21:22:22 PDT 2001
  add colsMap($fun), which does more than colMap can;
  Unlike colMap, $fun here have access to multiple columns.
  Read document for details.

1.30 Wed Sep 19 20:02:52 PDT 2001
  Improve header method, which can now take a new header argument.
  Improve fromTSV and fromCSV, which now can take the 3rd argument --
  if header is supplied, it will always be used (despite the 2nd argument).
  Read document for details.
  Fix a bug in adding a new column to a empty table.
  Thanks to Serge Batalov.

1.29  Mon Sep 17 18:18:13 CDT 2001
  a bug fixed in fromTSV
  The first line was skipped when header==0 is specified in fromTSV.

1.28  Wed Sep  5 17:59:36 CDT 2001
  a bug fixed in fromCSV, where \c or \\ apears in the file.
  Fix provided by Jeff Janes.

1.27  Mon Jul  9 00:04:54 PDT 2001
  accept more formatting parameters for html, combine html2 with html.

1.26  Mon May 21 09:35:41 PDT 2001
  A typo bug in swap fixed
  Thanks to Jeff Janes

1.25  Thu May  3 00:50:03 PDT 2001
  add BEGIN, check perl version, update README.
  We realize Table.pm requires 5.005 at least.
  See README for the patch for older perl.
  Thanks to Jeffery Cann

1.24  Sat Apr 21 20:30:18 PDT 2001
  a bug in match_pattern fixed (important!)
  Thanks to Robson Francisco de Souza

1.23  Thu Apr 12 14:36:45 PDT 2001
  a bug in html, html2 fixed, where table element "" displayed ugly
  introduced in version 1.21

1.22  Sat Mar 25 14:30:06 PST 2001
  join method added
  support four join types: inner, left outer, right outer, and full outer.

  a small bug in html2 fixed, thanks to Fred Lovine

1.21  Fri Mar  9 21:04:30 PST 2001
  rowMask method added

  A bug in html, html2 fixed, where table element 0 is not displayed
  Thanks to Sven Neuhaus

1.20  Wed Feb 28 12:38:53 PST 2001
  A bug in match_string is fixed.
  This will affect results if you change your "string" value in the program;
  Also add a caseIgnore control argument to match_string method.
  Thanks to Bryan Coon.

1.19  Sat Feb 24 23:23:37 PST 2001
  A bug in fromSQL is fixed (caused by typo)
    This happens when user use the third argument (a reference to an array).
    The old package will show an error message in some cases.

  Add $header option for csv and tsv, output header or not

  Add the following instant methods
    fromSQLi
    fromCSVi
    fromTSVi
  so that these methods can be inherited.
  Thanks to Michael Schlueter

  Update new method, so that it can be used as an instant method as well.

  Add method
    rowHashRef
  which returns a copy of a table row in hash reference.

  Officially support TSV format via the following three methods
    Data::Table::fromTSV
    fromTSVi
    tsv
  Read "TSV FORMAT" section for details.

1.18
  Fix the problem in Data::Table::fromCSV caused by null trailing fields.
  E.g., a line "a,b,," in a csv file was split into two fields before.
  Thanks to Karsten

  Fix the warning message in Data::Table::match_string, when table contains
  an undef element.

  Add Data::Table::fromTSV and Data::Table:tsv
  TSV - tab-deliminated file format. TSV preserves NULL element and line-break
  chars in a table.
    \0, \\, \r, \b, \n, \t are slash-escaped.
    undef is escaped into \N.
  This is based on MySQL specification.

1.16  Fri Sep 29 22:18:06 PDT 2000
  Package name changed from Table to Data::Table, due to
  name collision with PerlQt
  first official release version

1.15  Tue Sep 26 18:32:52 PDT 2000
  submitted to CPAN
