Dear list, I have a question to anyone who has experience with the following situation. I have a very complex array build from hashes containing arrays that contain hashes etc. I would like to store the whole thing on a disk, both to save on memory usage and to make it easier to separate this structure from the actual code.
The trick is that I would not like to have to read back the entire array in one go (it is multiple megabytes already and will only grow in the future). So I would like to be able to access the array elements and only read one element at a time rather then the entire thing in one go, I would also like to be able to store the file in an encrypted format but that is more of a fun thing then a real need. Could someone please advise me what module would be best for this resulting in the smallest possible data file while still offering a reasonable speed. A direct tie between the disk and the applications operation is not fast enough... as an 'root' element in the array gets read once but the data structure it contains gets used hundreds or thousands of times during the execution of the program. So far the code has been using Storable which does a reasonable job but it does not allow me to read only a single element of the array rather then the whole thing in one go... I have tried using DBM:Deep but the Optimize() metode caused the data structure to get altered in some inexplicable way resulting in the program failing every time I used this option, with out the option the data file grows with every single execution of the script. Looking forward to your suggestions, Rob