http://qs321.pair.com?node_id=27127


in reply to RE: RE: Randomizing Unique ID?
in thread Randomizing Unique ID?

Well, If you want more room in the double, then do the base conversion before doing the concatenation, thusly:
# Generate a truly unique ID sub GenerateBase { my $base = shift; $base = 62 if $base > 62; my @nums = (0..9,'a'..'z','A'..'Z')[0..$base-1]; return sub { my $number = shift; my $rep = ""; # this will be the end value. while( $number > 0 ) { $rep = $nums[$number % $base] . $rep; $number = int( $number / $base ); } return $rep; } } my $ToBase62 = GenerateBase( 62 ); my $ID = $ToBase62->( $$ ) . $ToBase62->( time );