The most reliable answer is going to be to have a utility that extracts the configuration into a standard text format which is portable. The utility is easy to write, but it will need to be run on the original machines.

Sorry.

In fact I came up with an interesting cautionary example.

Consider DB_File. It allows you to create (among other things) a hash or BTree with a custom hashing or comparison function. Well one of the nice things about a BTree is that it is trivial to get keys to come back in sorted order. So use the following neat order:

sub { use locale; $_[0] cmp $_[1]; }
What does this do? It sorts in a locale-specific order. So if you are in Europe and have a few characters not in ASCII, it sorts them correctly.

Now the point? There is no external tool which can guess this binary format. In fact all of the standard tools from Sleepycat will mess up on this. And better than that, if some user changes their locale then edits the data? Instant undetectible database corruption!

(This is not just a problem for BerkeleyDB of course, many programs with binary formats are susceptible to the same problem. For instance a C++ program using the Roguewave string library can hit similar issues.)

Which goes to show why it is important to make sure that you have backups of data in a *portable* format...


In reply to Re (tilly) 1: Not a DBengine Question. by tilly
in thread Not a DBengine Question. by AgentM

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.