The best way to store data structures such as these intact is to serialise them prior to storage - There are a number of ways by which this can be performed but one of the fastest and most widely employed is through the Storable module. This module allows complex data structures to be broken down to storable and retrieveable serial strings via the freeze method, which can subsequently stored in files and then restored to the original data structure via the thaw method. eg.

use Storable qw/ freeze thaw /; # Create serial representation of hash structure $serialised = freeze \%hash; . . . # Recreate hash structure from serial representation %hash = %{ thaw( $serialised ) }

Other modules which allow the representation and storable of complex data structures within serial formats include Data::Dumper and Data::Denter - The primary advantage which Storable offers over these modules is speed.

 

perl -e 's&&rob@cowsnet.com.au&&&split/[@.]/&&s&.com.&_&&&print'


In reply to Re: hash in SDBM_File by rob_au
in thread hash in SDBM_File by camelry

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.