そう簡単に重複しないユニークIDを得る

ランダムな数字、現在のマイクロエポック秒PerlのプロセスIDを元に、そう簡単には重複しないユニークIDを得るPerlScriptです。
ちなみに先頭の"0_"は、2036年問題で万が一エポック秒の巻き戻しが発生した場合の識別子として追加しています。

use Time::HiRes;

print &get_uid();

###########################
# Get Uniqu ID
sub get_uid{
       if(sprintf("%.3f",$]) <= 5.004){
               srand(time());
       }
       my $uniqueid = sprintf("0_%s_%.6f_%s", int(rand 100000), Time::HiRes::time(), $$);
       $uniqueid =~ s/\./_/g;
       return($uniqueid);
}