See also L<AnyDBM_File> for a more general description of the pros and
cons of the various dbm approaches, as well as L<DB_File> for a particularly
rich implementation.
You can control which DBM library you use by loading that library
before you call dbmopen():
use DB_File;
dbmopen(%NS_Hist, "$ENV{HOME}/.netscape/history.db")
or die "Can't open netscape history file: $!";
I had tried the above, but DB_File.pm is not installed.
I finally found a pointer to the "use SDBM_File" by rooting through some ActiveState docs.
I am not sure that this fully explains why it ran from the web, but not commandline on the original box, must be environmental issues involved as well. Perhaps NBDM is installed, just doesn't appear that way from the CGI script?
On switching to tie(), I fully agree. Part of my testing provided my co-worker with an alternative version to hers using tie(), but in recently looking at the source, she appears to be sticking with dbmopen(). I know when I showed the code using tie(), she indicated she wasn't ready to start tackling yet-another-new-concept. One dragon at a time...
In reply to Re: Re: Seeking DBM wisdom
by wardk
in thread Seeking DBM wisdom
by wardk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |