Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Let's take a look at a more complete example. Example 20-1 demonstrates how we might use GDBM_File in an actual script. Like all the examples in this book, it can be downloaded from the book's web site, at http://www.elanus.net/book/.
#!/usr/bin/perl -w
# color.plx - demonstrate GDBM_File
use strict;
use GDBM_File;
my $datafile = 'color.gdbm';
tie my %COLOR, 'GDBM_File', $datafile, &GDBM_WRCREAT, 0644
or die "can't tie to $datafile for WRCREAT access: $!";
$COLOR{banana} = 'yellow';
$COLOR{apple} = 'red';
$COLOR{orange} = 'orange';
untie %COLOR; # no longer tied to the DBM file
%COLOR = ( ); # empty the hash, to prove we're really storing
# the data on disk.
tie %COLOR, 'GDBM_File', $datafile, &GDBM_READER, 0644
or die "can't tie to $datafile for READER access: $!";
print "Here are all the records currently stored in $datafile:\n\n";
while (my($key, $value) = each %COLOR) {
print "key: '$key', value: '$value'\n";
}
untie %COLOR; |