[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:903) 8桁のID



#!/usr/bin/perl -w

#月に1度、登録ユーザーに一意の8桁のIDを与える
#ユーザー数は99以下(実際は30と決まっている)
#日付をそのままの形で与える(または単純な追番)のはカッコワルイという要望(^^;;;;; 
#
#ユーザー名の入った配列@dataを渡すと%data_hashに(キー)メールアドレス -> (値)IDを生成する
#

@data = ("aaaa", "bbbb", "ccccc", "ddddd", "eeee", "ffff", "gggg", "hhhh", "iiiii", "jjjj", "kkk", "llll");#メールアドレスの配列
%data_hash = ();#(キー)メールアドレス -> (値)ID

$now = time;
$tmp = substr($now, 0, 6);

#ハッシュの生成
for ($i=0; $i<=$#data; $i++) {$data_hash{$data[$i]} = $tmp . sprintf("%02d", $i)};


#検証
foreach $key (keys(%data_hash) ) {print $key . "?t" . $data_hash{$key} . "?n"};