use strict; use DB_File; my %btree; $DB_BTREE->{'flags'} = R_DUP; my $bhandle = tie %btree, 'DB_File', undef, O_RDWR|O_CREAT, 0666, $DB_BTREE; my @array = ( 'a'..'z' ); foreach ( '2' .. '6') {$btree{$_} = shift @array;} @array = ( 'A'..'Z' ); foreach ( '2' .. '6' ) {$btree{$_} = shift @array;} $btree{1}='HHI'; $btree{4.5}='HHI'; $btree{7}='HHI'; $btree{8}='HHI'; print "From each:\n"; while (my ($key,$val)=each %btree) { print "'$key' contains ".$bhandle->get_dup($key)." values\n"; } print "\n"; print "From for:\n"; my ($key,$val); for (my $status = $bhandle->seq($key, $val, R_FIRST()) ; $status == 0 ; $status = $bhandle->seq($key, $val, R_NEXT()) ) { print "'$key' contains ".$bhandle->get_dup($key)." values\n"; }