use strict; use warnings; use DB_File; $DB_BTREE->{'compare'} = sub { $_[0] <=> $_[1] }; tie my %foo, "DB_File", undef, undef, undef, $DB_BTREE; for (1 .. 10) { $foo{$_} = 'value' . $_; } while(my($k, $v) = each %foo) { print "$k -> $v\n"; }