Welcome to the Monastery | |
PerlMonks |
Re: Seeking DBM wisdomby jreades (Friar) |
on Dec 05, 2000 at 00:11 UTC ( [id://44846]=note: print w/replies, xml ) | Need Help?? |
The dbmopen() documentation offers some tantalizing clues: In older versions of Perl, if your system had neither DBM nor ndbm, calling `dbmopen' produced a fatal error; it now falls back to sdbm(3). You can control which DBM library you use by loading that library before you call dbmopen() What this suggests is that dbmopen() will, by default, attempt to open the dbm file using the ndbm library. If that attempt fails, then dbmopen() falls back on the SDBM lib. By process of deduction, it seems likely that the first HUPX box did not support the ndbm-style dbm files, while the second one did. Thus, calls on the first box fell back automagically on sdbm while calls on the second succeeded in using ndbm to open the files, it just happened to dump a good bit of your data. Well, I don't know if that's the case, but it sounds good don't it? Either case, I'd suggest switching the application over to tie() as the dbm functions are largely deprecated (and harder to use).
In Section
Seekers of Perl Wisdom
|
|