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]