Perl 中如何得到网站的在线人数
用 Perl 的人都知道,Perl 语言是不支持 session 的,也就是说, perl 不能在程序中直接得到精确的在线人数的。。。那你要编写统计在线人数这样的程序的话,怎么做呢?其实很简单,我们可以这样做。。。我们设置一个默认停留时间,一个访客如果在默认停留时间内不再访问网站的任何页面的话,就认为他已经离开了,否则就认为他还在线,这样可以得到大致的在线人数。。。

这个默认在线时间不能过短,也不能过长,一般设置 2 - 5 分钟左右,这样得到的数值是比较精确的。如果你有意加长了这个默认时间,那么你会得到更多的在线人数,但其实这个数值已经是不正确的了。

好,说完了这些后,下面我们来看看一个实例:

if ( $addr eq "$ENV{'REMOTE_ADDR'}" ) {
print FILE "$ENV{'REMOTE_ADDR'},$hour,$min,$sec,$ENV{'REMOTE_HOST'},$come_time,$username,$id\n";
$check=1;
}
elsif ($flag < 300 && $flag > 0) {
print FILE $_;
$people++;
}
我们注意看一下 $flag < 300 ,这就说明这里的默认在线时间是 300 秒,就是 5 分钟。