The tie Function
We set up
access to a DBM file from within our Perl script
using the tie
function, which ties a Perl
hash variable to the DBM file on disk.
From that point on, we work with the tied Perl hash just like we
would with any other hash, adding, deleting, or modifying individual
elements. As we perform those manipulations, Perl updates the DBM
data on disk. When we are finished we use the
untie
function to sever the connection
between the hash and the DBM file.
The only hard part is getting the syntax of the
tie
statement right. Here’s how a typical
tie
statement looks for accessing a
GDBM file for read-only access:
tie %HASH, 'GDBM_File', 'my_file.gdbm', &GDBM_READER, 0644;
To tie to a GDBM file in order to be able to read from, write to, or
create the file, we would use a tie
statement that
looks like this:
tie %HASH, 'GDBM_File', 'my_file.gdbm', &GDBM_WRCREAT, 0644;
The individual arguments to the tie
function are
as follows:
The name of the hash variable we’re tying to the DBM file—in this example,
%HASH
. I fell into the habit of using all uppercase letters for my tied DBM file variable names early on; it’s analogous to using all uppercase letters for filehandle names and is meant to indicate that there’s an external file (the DBM file) involved with the variable. There’s no law that says you have to use the all-uppercase convention for your tied DBM hash variables, but it has worked well for me.The name of the module that implements the
tie
operation we’re performing—in ...
Get Perl for Web Site Management now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.