chat-writeonline.pl

来自「java开发的聊天室」· PL 代码 · 共 51 行

PL
51
字号
sub write_online {
@online=&readtxtfile($onlinefile,2);
@online=sort @online;
local($temp1)="";
local($temp2)= 0;
&lockfile("$filehead$onlinefile");
open(ONLINE,">$filehead$onlinefile") || die $!;
#flock(ONLINE,2);
foreach (@online) {   
   ($mark,$chkuserip,$chkusername,$chkuserlevel,$chkusersex,$chktimen,$chksecn,$markend,$last)=split(/↑/,$_);
   if (($mark eq "online") && ($markend eq "end")) {
      if ($temp1 ne "$chkuserip↑$chkusername↑$chkuserlevel") {
         if (($_[0] eq "online") && ("$chkuserip↑$chkusername↑$chkuserlevel" eq "$userip↑$username↑$userlevel")) {
            print ONLINE "online↑$userip↑$username↑$userlevel↑$usersex↑$timen↑$secn↑end↑\n"; $temp2=1; $exist="yes";   
         } 
         elsif (($_[0] eq "outline") && ("$chkuserip↑$chkusername↑$chkuserlevel" eq "$userip↑$username↑$userlevel")) {
            $exist="yes";
         }
         elsif (!(($chksecn<$secn-$reloadxxx) || ($chksecn>$secn+$reloadxxx))) {
            print ONLINE "$_";
         } 
      }
      $temp1="$chkuserip↑$chkusername↑$chkuserlevel";  
   }
}
if (($_[0] eq "online") && ($temp2==0)) {
   print ONLINE "online↑$userip↑$username↑$userlevel↑$usersex↑$timen↑$secn↑end↑\n";
}
#flock(ONLINE,2);
close(ONLINE);
&unlockfile("$filehead$onlinefile");
}

sub write_outline {
$onlinefile=$_[0];
@online=&readtxtfile($onlinefile,2);
@online=sort @online;
&lockfile("$filehead$onlinefile");
open(ONLINE,">$filehead$onlinefile") || die $!;
#flock(ONLINE,2);
foreach (@online) {   
   ($mark,$chkuserip,$chkusername,$chkuserlevel,$chkusersex,$chktimen,$chksecn,$markend,$last)=split(/↑/,$_);
      if ($chkusername ne $username) {
	  print ONLINE "$_";
	  }
}
#flock(ONLINE,2);
close(ONLINE);
&unlockfile("$filehead$onlinefile");
}
1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?