DB_File
Ties a Perl hash to one of the Berkeley DB database types and lets you use functions provided in the DB API:
[$X =] tie %hash, "DB_File", $filename [, $flags, $mode, $DB_HASH]; [$X =] tie %hash, "DB_File", $filename, $flags, $mode, $DB_BTREE; [$X =] tie @array, "DB_File", $filename, $flags, $mode, $DB_RECNO;
The types are:
$DB_HASHStores key/data pairs in data files. Equivalent to other hashing packages such as DBM, NDBM, ODBM, GDBM, and SDBM.
$DB_BTREEStores key/data pairs in a binary tree.
$DB_RECNOUses a record (line) number to access fixed-length and variable-length flat text files through the same key/value-pair interface as in
$DB_HASHand$DB_BTREE.
After you’ve tied a hash to a
database:
$db = tie %hash, "DB_File", "filename";
you can access the Berkeley DB API functions:
$db->put($key, $value, R_NOOVERWRITE); # Invoke the DB "put" function
All the functions defined in the dbopen(3)
manpage are available except close
and dbopen itself. The constants
defined in the dbopen manpage are also
available.
The following are the functions available (the comments note only the differences from the equivalent C function).