在Perl中生成唯一的Id

时间:2015-06-09 12:21:02

标签: perl

我是Perl的新手,我需要生成一个包含6个字符且只有数字的唯一ID,有没有办法简单地做到这一点?

我找到了:

use UUID::Generator::PurePerl;

sub create_search_id {
    my $this =shift;
    my $args=shift;
    my $ug = UUID::Generator::PurePerl->new();
    my $uuid1 = $ug->generate_v1();
    return $uuid1;
}

但是use语句会生成内部服务器错误...谢谢!

1 个答案:

答案 0 :(得分:2)

UUID是一种特殊形式的唯一标识符;任何生成UUID的模块都不太可能支持以您想要的形式创建标识符。

我不确定" 6个字符和只有数字"手段;如果你的意思是6位数,就像这样:

my $id = join '', map int rand 10, 1..6;

但为了使其独一无二,您需要能够检查它是否已经在使用中,并且您还没有告诉我们您如何使用它。