File: //usr/share/doc/perl-BerkeleyDB/Todo
  * Proper documentation.
  * address or document the "close all cursors if you encounter an error"
  * Change the $BerkeleyDB::Error to store the info in the db object,
    if possible.
  * $BerkeleyDB::db_version is documented. &db_version isn't.
  * migrate perl code into the .xs file where necessary
  * convert as many of the DB examples files to BerkeleyDB format.
  * add a method to the DB object to allow access to the environment (if there
    actually is one).
Possibles
  * use '~' magic to store the inner data.
  * for the get stuff zap the value to undef if it doesn't find the
    key. This may be more intuitive for those folks who are used with
    the $hash{key} interface.
  * Text interface? This can be done as via Recno
  * allow recno to allow base offset for arrays to be either 0 or 1.
  * when duplicate keys are enabled, allow db_put($key, [$val1, $val2,...]) 
2.x -> 3.x Upgrade
==================
Environment Verbose
Env->open mode
DB cache size extra parameter
DB->open subdatabases	Done
An empty environment causes DB->open to fail
where is __db.001 coming from? db_remove seems to create it. Bug in 3.0.55
Change db_strerror for 0 to ""? Done
Queue	Done
db_stat for Hash & Queue	Done
No TxnMgr
DB->remove
ENV->remove
ENV->set_verbose
upgrade
    $env = BerkeleyDB::Env::Create
    $env = create BerkeleyDB::Env
    $status = $env->open()
    $db = BerkeleyDB::Hash::Create
    $status = $db->open()