I think sundialsvc4 should presume to speak for all applications. The only core module we've got to serialize data structures is non transportable and therefore undependable. Core modules shouldn't be a gamble.

I've been burned myself by 'fozen' data that wouldn't thaw after being transfered to another machine with a different version of Storable. A simple perl update could leave you with a database of unusable data, or a backup file that can no longer be recovered, or in my case it was a move to another server (with a different versions of everything). I'm not going to risk my application like that (again).

So having learned by lesson I avoid Storable like the plague. Now I 'freeze' data with Data::Dumper (which is core) and 'thaw' with eval. It's messy and awkward and I'm sure no where near as efficient as free/thaw but at least the serialized result is guaranteed to be readable by any version of Perl on any system the data may end up on (or moved to).

Before it was ever introduced to core, Storable should have been prepared for a future of new features and formats. From the very first 'version change' it should have been purposely defaulted to the most basic universally recognized serialized data format (first version) with caveats to programmers wishing to take advantage of newer features. I would be using it today if I could expect consistent behaviour between versions but as it is I can't rely on it and I can't recommend it. The genie is out of the bottle, you can't fix Storable now.

Storable has too high a price to pay for anything but fleetingly temporary data. In other words, data that probably shouldn't be 'stored' in the first place. In my books that makes the module a complete fail for the purpose it is (generally) expected to serve.


In reply to Re^3: Storable( Double size not compatible in Storable) compatible) by ruzam
in thread Storable( Double size not compatible in Storable) compatible) by kaushal_k1

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.