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 reply to Re: Seeking DBM wisdom by jreades
in thread Seeking DBM wisdom by wardk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.