in reply to Re: How to work NDBM and tie
in thread How to work NDBM and tie

How do I tie a hash to an already existing NDBM file and only read from it?

Replies are listed 'Best First'.
Re^3: How to work NDBM and tie
by roboticus (Chancellor) on Feb 25, 2011 at 11:47 UTC

    Reading the docs, I'd suspect that it would be as simple as this:

    $ cat ex_NDBM_File_2.pl use strict; use warnings; use Fcntl; use NDBM_File; tie(my %h, 'NDBM_File', 'ex_NDBM_File.ndbm', O_RDONLY, 0777) or die; for my $k (sort keys %h) { print "$k --> '$h{$k}'\n"; } $ perl ex_NDBM_File_2.pl bar --> 'testing 12 .. hello, testing 12!' foo --> '123 test'

    I prepared the NDBM file like so:

    $ cat ex_NDBM_File_1.pl use strict; use Fcntl; use NDBM_File; tie(my %h, 'NDBM_File', 'ex_NDBM_File.ndbm', O_RDWR|O_CREAT, 0777) or +die; $h{foo}='123 test'; $h{bar}='testing 12 .. hello, testing 12!'; $ perl ex_NDBM_File_1.pl $

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

Re^3: How to work NDBM and tie
by Anonymous Monk on Feb 25, 2011 at 11:41 UTC
    The exact same way, maybe using only O_RDONLY flag