my $rndm = sprintf "%lx", int rand(16**8); #why only 4hex digits when num is 8?