Господа на сайте
http://discuss.km.ru/ стоит скрипт статистики посещений, показывает браузер и операционку, что добавить нужно, что бы он еще показывал и разрешение монитора посетителей, скрипт идет ниже. Я не программист поэтому если можно по подробнее.
--------------------------------------------------------------------------------
#!/usr/bin/perl
#wostat.cgi
########################################
# WOstat v1.1
#
########################################
# ***************** Variables *********************
my $filename="wostat.cgi";
my $brfile="brdata.txt";
my $sysfile="sysdata.txt";
my $system="UNIX";
my $mailprog=\'/usr/sbin/sendmail\';
my $to=\'cat321@mail.ru\';
my $from=\'wow@womail.net\';
my $uncout_time="24"; # В часах
# *************************************************
# ******************* Modules *********************
use CGI qw(param);
use CGI::Carp qw/fatalsToBrowser/;
use locale;
use strict;
# *************************************************
###################################################
my @browsers=("MSIE 5.01","Netscape6/6.0","Opera 5.0","MSIE 5.5","MSIE 4.01","MSIE 5.0","MSIE 6.0","Opera/5.12","MSIE 6.0b","Opera/5.01","Netscape6/6.01","Powermarks/3.5","rv:0.9.1","Netscape6/6.2","Netscape6/6.1","Explorer/4.40.426","MSIE 2.1","X11","MSIE 4.0","MSIE 5.12","Opera/6.0","MSIE 5.0b1","MSIE 3.01");
my @systems=("Windows NT 5.0","Windows 98","Windows NT 5.1","Windows 2000","Windows 95","Windows 9x","Windows NT","Win16","Win32","Win 9x","Mac_PowerPC","FreeBSD","Macintosh","Linux","WinNT4.0","Windows ME","BeOS","Unix","Windows XP","SunOS");
###################################################
my $user_agent=$ENV{\'HTTP_USER_AGENT\'};
my $ip=$ENV{\'REMOTE_ADDR\'};
my $i=0;
my $ii=0;
my $j=0;
my $jj=0;
my $bro;
my $sys;
my $host;
my $hit;
my $all;
if ($user_agent=~/\\bWin98\\b/)
{
$sys="Windows 98";
}
if ($user_agent=~/\\bWin95\\b/)
{
$sys="Windows 95";
}
if ($user_agent=~/\\bWinNT\\b/)
{
$sys="Windows NT";
}
# ***************************** Counter file *****************************
open(AF,"
$all=
;
close(AF);
$all++;
open (AFA, ">all.txt") or die ("Can\'t open all count file all.txt ", $!);
if ($system ne "NT")
{
flock(AFA, 2);
}
print AFA "$all";
close (AFA);
# ******************************** Time file *****************************
open(TF,"my $times=;
close(TF);
my $time=time();
my $clear_time=$uncout_time*3600+$times;
if ($time-$clear_time >= 0)
{
open (TFN, ">time.txt") or die("Can not open time-file time.txt ", $!);
if ($system ne "NT")
{
flock(TFN, 2);
}
print TFN "$time";
close (TFN);
open (IPBFILE, ">ipb.txt");
close (IPBFILE);
open (IPSFILE, ">ips.txt");
close (IPSFILE);
open (HIT, ">hit.txt");
close (HIT);
open (HOST, ">host.txt");
close (HOST);
}
# ***********************************************************************
# ***************************** HIT count *******************************
open(HIF," $hit=;
close(HIF);
$hit++;
open (HIFA, ">hit.txt") or die("Can\'t open hit file to write ", $!);
if ($system ne "NT")
{
flock(HIFA, 2);
}
print HIFA "$hit";
close (HIFA);
# +++++++++
open(HF," $host=;
close(HF);
# **************************** Browser **********************************
foreach my $browser(@browsers)
{
if ($user_agent =~ /\\b$browser\\b/)
{
$j++;
$bro=$browser;
open (IP," my @ips=;
chomp(@ips);
close(IP);
my $k=0;
foreach (@ips)
{
if ($ip eq $_)
{
$k++;
}
}
if ($k==0)
{
open (IPE,">>ipb.txt") or die("Can\'t open IP file to write ipb.txt ",$!);
if ($system ne "NT")
{
flock(IPE, 2);
}
print IPE "$ip\\n";
close(IPE);
# ***************************** Host count *******************************
$host++;
open (HFA, ">host.txt") or die("Can\'t open host file to write ", $!);
if ($system ne "NT")
{
flock(HFA, 2);
}
print HFA "$host";
close (HFA);
# ***********************************************************************