Sterin, Ilya wrote:

> That would be fine.  I was thinking in terms of supporting data formats that
> can't be queried, 


Yes, there are already some like that, for example one can query Mp3 
file embedded text tags, but not create or modify them.

> AnyData.pm, I haven't looked at the source, 


Don't :-).  Look at the development version which is migrating to a 
dispatch_method similar to DBI::PurePerl (which is part of why it's 
taking me so long for the next release).

> I'm not sure if Jeff wants to
> add these misceleneous data structures.  


The more the merrier.  Users have developed task-specific AnyData 
parsers for things like genomes and sun-flare reports.  See the list 
below for a half dozen other general formats developed by other authors.


> I just added an event driven interface to DBIx::Dump, which allows to define
> event handlers and due on the fly transformations/formatting before
> outputting.  Not sure about the AnyData interface and if it will allow for
> such additions without much reprogramming.


On the contrary, there is support already for both post-read and 
pre-write event handlers in the development version of the module as 
well as support for on-the-fly user-defined parsers.

 > Jeff???

Yes, Ilya, let's collaborate!!!

Here's what adConvert will look like in the next release (90% of it is 
available in the current version):

adConvert({

     data_source   =>   $filename
                      | *file_handle
                      | $http_url
                      | $ftp_url
                      | [$string]
                      | [<DATA>]
                      | $array_of_arrays
                      | $array_of_hashes
                      | $dbi_database_handle
                      | $dbi_query_statement_handle,

     data_target   =>   $filename
                      | *file_handle
                      | $dbi_insert_statement_handle,
                      | undef (returns a string, AoA,or AoH
                              depending on the specified target
                              format)

     source_format =>   CSV
                      | Tab
                      | Pipe
                      | Space
                      | Ini
                      | XML
                      | DBI
                      | Fixed     (with Doug Wilson)
                      | SNMP      (by Wes Hardaker)
                      | Excel     (by Kawai, Takinori)
                      | Syslog    (by Tod Harter)
                      | MLDBM     (in progress, with Brian Hann)
                      | HTMLtable
                      | Storable
                      | Passwd
                      | Weblog
                      | Mbox      (anyone want to collaborate or take
                                   on this one?)
                      | AoA
                      | AoH
                      | FileSys
                      | Mp3
                      | Usr (user-defined)
                      | $your_format_here (please submit format parsers
                                          the next release will have an
                                          actual API for them)

     target_format => (same as source formats except for Mp3)

     flags         => (various flags, most with defaults
                      to determine method of finding colnames;
                      set a file_locking mechanism if needed,
                      set delimiter, separator, quote and escape chars;
                      define pre-write and post-read handler routines)
});


Reply via email to