# generate dataset of random key-val pairs my %hash; my @keys; my $valstr; for (1..60){ $valstr .= ('A'..'Z', 'a'..'z', 0..9)[rand(62)]; } while ((scalar (keys %hash)) < 20000){ my $keylen = 4 + int rand 16; my $vallen = 8 + int rand 32; my $key; for (1..$keylen){ $key .= ('A'..'Z', 'a'..'z', 0..9)[rand(62)]; } my $val = substr($valstr, $keylen-4, $vallen); $hash{$key} = $val; } use Data::Dumper; open (OUT, ">testhash.dat"); print OUT "package hashdata;\n"; print OUT Dumper \%hash; close OUT;