I recently searched the module list
http://cpan.perl.org/modules/00modlist.long.html
for "Table::" and did not find it.
However, today I also searched here
http://www.xray.mpe.mpg.de/mailing-lists/modules/
and found
1. 2002-12/msg00399 Module submission Table::ParentChild
- I don't completely understand the "rationale" here.
2. 2002-02/msg00310 Module submission DBIx::Pivot
- In this case Table::Pivot was used for development but changed
because Table:: did not exist.
[ However Data::Pivot also seems to exist ]
3. 1998-06/msg00161: Re: Statistics::Table:: proposal
- In this case the Table has to do with Statistics.
Anyhow. I had looked at
Data::CTable
Data::Table
and neither of these do what I intend (although I wish
I had found Data::Table about 3 years ago :-).
My intent was to register the following:
Table - v 0.1 todo
Table::File - v 0.3 written.
To go under chapterid: 6 (Data_Type_Utilities).
The idea is that the primary abstraction is a "Table". It
is similar to but more general than a Table in an RDBMS. The
data in this table might come from a database (via DBI::*) or
a file (via Table::File) but to the programmer it exists
purely as a Table. The module Table::File fulfills a contract
which the sub Table::import() requires. It provides a function
next_record(), which allows the Table to import both its data
and meta-data.
Obviously, one idea is to have be able to change the data source
for the same data with things such as Table::DBI, Table::Oracle,
Table::Stream, Table::XML without changing the rest of the code.
I don't care what the top-level namespace is (but I thought I
could grab Table :-). I think that Table::ParentChild may be
entirely compatible with what I intend but I don't know how
permissions work on CPAN yet. It also seems that either
DBIx::Pivot or Data::Pivot might be appropriate as Table::Pivot.
I could always use Xyz::Table::* ... and I'd appreciate it if
someone has a suitable suggestion for Xyz. (DBI is NOT right,
Data is taken, but Db would work ... although I believe that
the Db:: namespace already exists and I don't know what it is
for). Perhaps DBIx:: is good for this...
--GH.