web-dev-qa-db-ja.com

Perlで一意のIDを作成する方法

niqueIdを作成したい。呼び出すことができる関数はありますか?それを使用するたびに、常に異なる値で新しいIDが得られますか?

19
user2568702

あなたがこれを使うことができるより良い方法も

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

ここからあなたは リンク について学ぶことができます

7
Developer

Data :: UUID を使用して一意のIDを生成します。

use Data::UUID;

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

おそらく、Windowsマシンでは、Win32を使用することもできます。

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

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;
4
krispy

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
1
Suic

また、この回答でLinuxOSツールuuidgenを使用するというアイデアも非常に気に入りました。 Perlのバージョン5 UUID

私のDebianLinuxシステムでは、/usr/bin/uuidgenにあります。

0

これを試して:

PerlのFirebaseスタイルのプッシュID GUID

生成された時刻のアルファベット順にGUIDを生成します。レコードガイドを生成された時間順に並べ替える場合に便利です。

0
Rob de la Cruz