2013-09-05 17 views
14

Voglio creare un UniqueId. C'è una funzione che posso chiamare, in modo tale che ogni volta che la uso mi darà un nuovo ID, sempre con un valore diverso?Come possiamo creare un ID univoco in Perl

+0

come quando chiamerò quella subroutine mi darà un ID univoco –

+0

hash crittografico? Generatore di numeri casuali in pratica –

+0

cos'è l'hash crittografico ?? –

risposta

6

Il modo migliore è possibile utilizzare questo anche

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

Da qui è possibile conoscere Link

+0

se voglio concatenare posso fare in questa funzione ?? –

+1

yup in $ uuid1 puoi concatenare – Developer

+0

questo sta funzionando bene per me –

20

Usa Data::UUID per generare ID univoci:

use Data::UUID; 

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

+1 per nice ans – Backtrack

0

ho usato Data::Uniqid, questo modulo ha 3 metodi:

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

Un'altra alternativa utilizzando Data::GUID, che è probabilmente un po 'meno confusione di dati :: UUID

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

o

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

probabilmente vale la pena notare che su macchine Windows, si potrebbe anche usare Win32:

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

... che è incluso in un Perl installato su Windows. – Wolf