if($in{'aite'} ne $SAT{'nm'}){ # 相手が見つからない $soko_com .= qq|14<>0<>$suryo<>$time<>1212<>$to_uid<>_|; } &soko_write; } #----------------------------------------- # 倉庫ファイル sub soko_open{ # 倉庫ファイル読み込み if(-e $soko_file){ open(IN,"$soko_file") || &error("1 can't open $soko_file.",1); $soko_com = <IN>; close(IN); } # 配列に格納 my @line_com = split(/_/,$soko_com); # $log .= qq|<br>*** $#line ***<br>|; foreach(0..$#line_com){ my($typ,$lst,$cnt,$sokotime,$from,$to,$lv) = split(/<>/,$line_com[$_]); $csoko_typ[$_]=$typ; $csoko_lst[$_]=$lst; $csoko_cnt[$_]=$cnt; $csoko_time[$_]=$sokotime; $csoko_from[$_]=$from; $csoko_to[$_]=$to; $csoko_lv[$_]=$lv; } } sub soko_write{ # if($lockkey){ &lock; } open(OUT,">$soko_file") || &error("2 can't open $soko_file"); print OUT $soko_com; close(OUT); if(-e $lockfile){ unlink($lockfile); } if($flg_backup==1){ open(BAK,">>$soko_back") || &error("3 can't Open $soko_file"); print BAK "$soko_com\n"; close(BAK); } } #----------------------------------------- # 宛先確認 sub usr_check{ local @tdat; # 参加者データファイル一覧取得/一括読み込み opendir(DIR,"$usrdata") || &error("ユーザデータ読みこみエラー",1); @usrfile = grep /\.cgi/,readdir(DIR); closedir(DIR); foreach (0 .. $#usrfile) { open(IN,"$usrdata$usrfile[$_]") || &error("can't open $usrfile[$_]",1); $line = <IN>; close(IN); push(@tdat,$line); } my $flag=0; foreach(0 .. $#tdat){ %SAT = ''; my @prats = split(/,/,$tdat[$_]); foreach $prats (@prats){ my($key,$v) = split(/;/,$prats); $SAT{$key} = $v; } if($SAT{'nm'} eq $in{'aite'}){ $to_uid=$SAT{'id'}; $flag=1; last; } } if(!$flag){ $log = qq|$in{'aite'}さんという参加者は存在しません。<br>| ; $to_uid=""; } } &soko_com_in; |