in reply to Re^4: MLDBM tie fails
in thread MLDBM tie fails

I would suggest tying the big complex hash to DBM::Deep before creating the big complex data structure. That is because processing the whole thing at once takes up too much memory. Doing it incrementally from the start will behave much better.

If that fails then try to come up with a minimal test case and file a bug report at http://groups.google.com/group/DBM-Deep?pli=1.

Replies are listed 'Best First'.
Re^6: MLDBM tie fails
by greigite (Novice) on Dec 22, 2008 at 21:16 UTC
    Hi tilly, Thanks so much for your advice. I set up the tie earlier in the program than the database structure creation:
    use Bio::AlignIO; use Bio::SeqIO; use Fcntl qw(O_RDWR O_CREAT); use DBM::Deep; use Data::Dumper; <br> ...<br> my $db = tie %positions_hash, "DBM::Deep", "positions.db"; <br>...<br> # hash creation

    This appears to work, but the only drawback is slowness. Guess I can't get away from that by only tie-ing after hash creation because that produces the error:
    DBM::Deep: Cannot sysopen file 'positions.db': No such file or directory.
    Thanks again.