note
danger
<p>
It isn't complicated at all, and you do not need any modules beyond
DB_File itself (which is part of the standard distro).
</p>
<p>
Tieing to a DB_File BTREE is no harder than tie'ing to anything
else --- to keep it in memory (instead of in a file) just use [undef]
in place of the filename argument. You can easily supply custom sort
routines (default is lexical sorting).
</p>
<code>
use DB_File;
$DB_BTREE->{compare} = sub { $_[1] cmp $_[0] };
tie my %h, 'DB_File', undef, O_RDWR|O_CREAT, 0666, $DB_BTREE
or die "DB_File tie failed: $!";
%h = 'a' .. 'z';
print "$_ : $h{$_}\n" for keys %h;
</code>
289360
289486