#! perl -slw use strict; sub rndStr{ join'', @_[ map{ rand @_ } 1 .. shift ] } sub log10{ log( $_[0] ) / log( 10 ) } our $K ||= 1e3; our $L ||= log10( $K ); print "K:$K L:$L"; my %hash; $hash{ $_ } = int rand 32767 for map{ rndStr( $L, 'a'..'z' ) } 1 .. $K; print "$_ => $hash{ $_ }" for ( keys %hash )[ 0 .. 9 ];