1. DBM module is inconsistent with Ruby design

   The DBM.open(dbname[, mode]) method requires its optional mode
   argument to be an octal integer; it will not accept the mode
   strings like "r" or "w" that are required for the built-in Ruby
   function open() or the related methods in Ruby's IO and File
   classes.

2. When I try to store a large value (eg., 6kb) in a DBM object,
   I get the following error:

      RuntimeError: dbm_store failed

   Smaller values (eg., 256b) don't seem to cause any problems.
   The ext/dbm.c source code for fdbm_store has 

    if (dbm_store(dbm, key, val, DBM_REPLACE)) {
#ifdef HAVE_DBM_CLEARERR
        dbm_clearerr(dbm);
#endif
        if (errno == EPERM) rb_sys_fail(0);
        rb_raise(rb_eRuntimeError, "dbm_store failed");
    }

   which suggests to me that this may be a known problem with DBM.
   Another possible cause is that this error is occurring on a 64 bit
   machine (Alpha/OSF4.0D) with a deprecated libdbm.a library.

Any suggestions would be appreciated.
Thank you,
Eric