我们如何在Perl中创建唯一ID

问题描述 投票:18回答:7

我想创建一个UniqueId。有没有我可以调用的函数,以便每次使用该函数时,都会给我一个新ID,且始终具有不同的值?

perl perl-module
7个回答
7
投票

也可以使用此更好的方法

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;
}

从这里您可以了解Link


22
投票

使用Data::UUID生成唯一的ID:

use Data::UUID;

$ug    = Data::UUID->new;
$uuid1 = $ug->create();   # Or create_str()

5
投票

可能值得注意的是,在Windows计算机上,您也可以使用Win32:

use Win32;    
my $guid = Win32::GuidGen();

4
投票

使用Data::GUID的另一种选择

use Data::GUID;
my $guid = Data::GUID->new;
my $uniqueIdString = guid->as_string;

use Data::GUID;
my $uniqueIdString = Data::GUID->new->as_string;

1
投票

我使用了Data::Uniqid,此模块有3种方法:

use Data::Uniqid qw ( suniqid uniqid luniqid );
$id = suniqid; #genrates a very short id valid only for the localhost and with a liftime of 1 day
$id = uniqid;  #generates a short id valid on the local host 
$id = luniqid; #generates a long id valid everywhere and ever

0
投票

尝试一下:

Firebase-style push id guid in Perl

它按照其生成时间的字母顺序生成一个GUID。如果您想按记录GUI的生成时间排序它很有用。


0
投票

我也非常喜欢在此答案中使用Linux OS工具uuidgen的想法:Version 5 UUID in Perl

在我的Debian Linux系统上,我在/usr/bin/uuidgen有它>

© www.soinside.com 2019 - 2024. All rights reserved.