# ------------------------- # # Sub Open In User Data # ユーザーデータの読みこみ # ------------------------- # sub openinuserdata { if ($lockkey == 1) { &lock; } open(IN,"$userdata") || &error("Can't open $userdata"); @lines = <IN>; close(IN); &unlock; foreach $line (@lines) { ($name,$pass,$gdate,$love) = split(/<>/,$line); if ($_[0] eq 'checkname') { if ($FORM{'name'} eq $name) { $flag = 1; # データの中にユーザーを確認 if ($FORM{'pass'} ne $pass) { &error("パスワードが間違っています"); } last; } } if ($_[0] eq 'action') { if ($FORM{'name'} eq $name) { $gdate = time; push(@new,"$FORM{'name'}<>$FORM{'pass'}<>$gdate<>$newlove<>\n"); } else { if ($gdate >= $goodbye) { push(@new,$line); } } } if ($_[0] eq 'ownerlist') { if ($love >= $loved) { @lovelist[$lovenum] = "$name"; $lovenum++; if ($bestlove < $love) { $bestowner = "$name"; $bestlove = $love; } } elsif ($love <= $disliked) { @hatelist[$hatenum] = "$name"; $hatenum++; } else { @otherlist[$othernum] = "$name"; $othernum++; } } } if ($_[0] eq 'action') { foreach $line (@new) { ($name,$pass) = split(/<>/,$line); $newflg = 0; foreach $line1 (@new1) { ($name1,$pass1) = split(/<>/,$line1); if ($name eq $name1) { $newflg = 1; } } if ($newflg == 0) { push(@new1,$line); } } @new = @new1; } # 改造してある人は、 # この辺りに # 何か追記されています。 } # ------------------------- # # Sub Open Out User Data # ユーザーデータの書きこみ |