On Thu, 01 Dec 2005, Ted Schuerzinger wrote:
> > Just for fun I did a little test.
> > for (1 .. 10000) {
> >      my $fn = rand();
> >         ++$dup and next if exists $num{$fn};
> >      $num{$fn} = 1;
> > }
> > print scalar keys %num, " unique numbers. $dup duplicates produced\n";
> >
> 
> Just for fun, I changed one of the lines in that to
> 
> for (1 .. 1000000) {
> 
> When I ran the modified script, I got 32768 unique numbers, with 967232
> duplicates!  As 32768 is a power of 2, I'm wondering if there's a limit on
> the number of keys one may have in a hash.

No, there isn't.  But rand() uses only 15 bits in the default implementation,
so you cannot generate more than 2**15 different values:

  C:>perl -V:randbits
  randbits='15';

Cheers,
-Jan



_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to