罪と罰++二律背反


  • # 相手指定であずける
    sub soko_com_in{
  • # 相手指定であずける
    sub soko_com_in{
    	$suryo = 100000;
    	
    	&usr_check;
           &soko_open;
       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;


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-06-08 (金) 00:28:11 (2739d)