= StoredHash - Load and Persist Perl hashes in a easy way.

== Features

- Load an entry as a (Perl) hash from a database
- Store New Hash (insert) to a database
- Store updated Hash (update) to a database
- Load collection / set of entries


The usage is currently limited to relational database (Perl DBI) scope,
but some thought was put tinto design to keep doors open to other
persistent storage backends (LDAP, ARS, DBM, Storable ...).

To learn more about the use of module API methods, do

  perldoc StoredHash

= Prerequisites

- Perl DBI / Database interface (search CPAN for DBI)
- DBD::* driver(s) for the database(s) you plan to use with Perl DBI

For easy ramp-up you can use serverless SQLite (search CPAN for DBD::SQLite).
In Ubuntu you'd do Perl DBD::SQLite installation the easy way:
   apt-get install libdbd-sqlite3-perl

ActiveState Perl distributions (at least > 5.8.8) ship with both
Perl DBI and DBD::SQLite.

= Installation

Installation is based on the standard CPAN Module install flow:

  tar zxvf StoredHash-NN.tar.gz
  cd  StoredHash-NN
  perl Makefile.PL
  make
  make test
  make install

== Author

Olli Hollmen - olli.hollmen@gmail.com

== License

Perl License

== Missing / TODO

The module is currently not very tolerant of "Spaces in fieldname", i.e.
it does no quoting on those cases.
Quoting might also be nice for protecting against fieldnames that happen to be
DB backend reserved names (function names, other keywords). However most
developers have already been protecting themselves against these.

Actual Testing on various database backends has been limited.
Please contribute feedback on your experiences with various DB backends.

The initial implementation of pulling (numeric) ID from a table-associated
sequence (i.e. Oracle and postgres style) has not been tested.
Luckily this has not been "published".

Have more examples in pod (possibly distribute large SYNOPSIS section to
particular domain examples).

