http://qs321.pair.com?node_id=289488


in reply to Re: Re: Any Point in Uploading Tie::SortedHash
in thread Any Point in Uploading Tie::SortedHash

It isn't complicated at all, and you do not need any modules beyond DB_File itself (which is part of the standard distro).

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).

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;