= 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 On Windows you should get "make" going by: - downloading Microsoft nmake.exe (substitue make => nmake above) - using Cygwin or Mingw make Unpackaging tar.gz on Win can be done by - WinZip, 7-zip - Cygwin tar == 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).