Skip to main content


UUID::Tiny has a weird way of getting a random 32bit integer using 2x random 16 bit integers bitwise OR'd together:

sub _rand_32bit { _init_globals(); my $v1 = int(rand(65536)) % 65536; my $v2 = int(rand(65536)) % 65536; return ($v1 << 16) | $v2; }

Anyone know why you would do this instead of just: my $rand = int(rand(2**32));? Also why the modulus, isn't it redundant?

submitted by /u/scottchiefbaker
[link] [comments]