in reply to Re^2: A problem with eval via DB_File->filter_fetch_value() and AUTOLOAD
in thread A problem with eval via DB_File->filter_fetch_value() and AUTOLOAD

I'm not certain of all the underlying magic, but I do know that DBM::Deep is the only DBM that is (almost) guaranteed to work with all of Perl's craziness. Try it out and see if it works for you.

The Perfect is the Enemy of the Good.

  • Comment on Re^3: A problem with eval via DB_File->filter_fetch_value() and AUTOLOAD

Replies are listed 'Best First'.
Re^4: A problem with eval via DB_File->filter_fetch_value() and AUTOLOAD
by perrin (Chancellor) on Apr 26, 2005 at 19:09 UTC
    DBM::Deep is one of the craziest perl modules ever written, and won't come close to the performance of DB_File. It's pretty cool, but I wouldn't consider it a 1-1 replacement for DB_File.
      Oh, it most certainly is not a 1-1 replacement by any means and it is slower by a decent amount (though still fast enough for most purposes). But, if you need a DBM that can handle (almost) every bit of Perl craziness you can throw at it . . . DB_File isn't it.

      The Perfect is the Enemy of the Good.

        I've read the doco on DBM::Deep.

        It won't help me. I like the flat file create by DB_File with $DB_RECNO. In fact, I'm sort of hooked on it.

        What I was originally asking was: "can someone tell me why this is".

        So far all I've gotten are recommendations for other approaches.

        If I have a reference that is blessed into a class, why wouldn't the AUTOLOAD method of that class work? That's the real problem that I'm looking for an answer to.

        - Darrin