in reply to Re: Unwinding an (unknown type) DBM
in thread Unwinding an (unknown type) DBM

Thanks, monks, but I'm not out of the woods yet.

file filename.pag and filename.dir both return a very terse answer: data

strings does in fact strip out the garbage, but the records still aren't intact: e.g. fragments of the same reccord appear in many places, inconsistent breaks between records, etc.
I do note that the key for each value is often found at the end of the relevant value string, if that's a clue for any demigods who read this.

I've been trying this on my webhost's Liunx server instead of my own (recently rebuilt) Win32 system, hoping the implementations would differ less from the original Athena, but that also means I can go installing every SBDM_File module I can find.

I've search the DBM answers here over the last 3 years or so, and anything I can get my hands on, still to no avail.
I did see a partial reference to a WhichDBM module - does such a thing really exist?

Since the size of the data isn't huge (dozens of timestamps for 32 people), I'm off to hack at what I got from strings, but it's still very ugly and (after much reading) it seems I'm not the only one who has this kind of question unanswered.
"How do I find out what to use to unwind an old DBM file, original type unknown?"

Thanks again, especially tachyon, for the helpful suggestions.

Replies are listed 'Best First'.
Re^3: Unwinding an (unknown type) DBM
by tachyon (Chancellor) on Jul 06, 2004 at 03:46 UTC

    You just may find that conv2gdbm does what you need. It certainly expects your .pag and .dir files as the input..... It is part of the gdbm distro As you note this is probably not an uncommon problem so perhaps this is the answer. The 'data' return from file(1) just means it recognises it as a binary file but has NFI what it is.

    cheers

    tachyon

Re^3: Unwinding an (unknown type) DBM
by Dr. Mu (Hermit) on Jul 06, 2004 at 03:34 UTC
    The "WhichDBM_File" reference was in the title of one of my postings. It was simply an effort to concoct a clever title calling attention to a frustration similar to yours. To the best of my knowledge, there is no WhichDBM_File module. Sorry for any false hopes I may have raised...
Re^3: Unwinding an (unknown type) DBM
by samtregar (Abbot) on Jul 06, 2004 at 17:49 UTC
    I've been trying this on my webhost's Liunx server instead of my own (recently rebuilt) Win32 system, hoping the implementations would differ less from the original Athena, but that also means I can go installing every SBDM_File module I can find.

    If you have a shell account there's no reason you can't install modules locally. Just install the module into a directory you can write to and 'use lib' in your script to load it. You can make sure you loaded the right version by printing out %INC.

    -sam