2013-09-05 15 views
14

Chcę utworzyć UniqueId. Czy istnieje funkcja, którą mogę wywołać, tak, że za każdym razem, kiedy jej używam, da mi nowy identyfikator, zawsze z inną wartością?Jak utworzyć unikatowy identyfikator w Perlu

+0

jak zawsze, gdy wezwę ten podprogram, da mi unikalny identyfikator –

+0

hash kryptograficzny? Generator liczb losowych zasadniczo –

+0

co to jest kryptograficzny skrót? –

Odpowiedz

6

Lepszy sposób można wykorzystać to również

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

Stąd można dowiedzieć się o Link

+0

jeśli chcę połączyć się mogę zrobić w tej funkcji? –

+1

yup w $ uuid1 możesz połączyć – Developer

+0

to działa dobrze dla mnie –

20

Zastosowanie Data::UUID do generowania unikalnych identyfikatorów:

use Data::UUID; 

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

+1 za miły ans – Backtrack

0

użyłem Data::Uniqid, ten moduł ma 3 metody:

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 
3

Inną alternatywą użyciu Data::GUID, który jest zapewne nieco mniej kłopotliwe niż dane :: UUID

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

lub

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

Prawdopodobnie Warto zauważyć, że na komputerach z systemem Windows, można również użyć Win32:

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

... który jest zawarty w perlu zainstalowanym w systemie Windows. – Wolf

Powiązane problemy