Two issues.

The obvious one is that often knowing what the exact error is and what line it is on is often very important. So you should use die, without a return in it, and have $! in the die statement. (Just like it says in perlstyle.)

The second, more subtle, issue is that dbmopen is unsafe. It will assume that your dbm files are stored in the "best" format that your Perl knows how to handle. As files move from machine to machine, or if you install a new module, the "best" format may change, meaning that your code no longer knows how to read the dbm file from disk. It is therefore far better IMNSHO to use tie and be explicit about how you are accessing the dbm file.


In reply to Re (tilly) 2: DBM file corruption? by tilly
in thread DBM file corruption? by skinnymofo

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.