ну вот сам скрипт:
#!/usr/bin/perl
use CGI qw(:standard escapeHTML);
$k=0;
print "Content-type: text/html\n\n";
open (USERS, "/etc/squid.passwd");
while ($line = <USERS>)
{
@users[$k] = split (":", $line);
$k++;
}
close USERS;
print start_html("stat");
foreach $l (@users)
{
open (ACCESS, "/var/log/squid/access.log");
$sum=0;
while (<ACCESS>)
{
($time, $elapsed, $ip_from, $reply_code, $size, $method, $url, $ident, $hdata, $type) = split(" ");
if ($ident eq $l)
{
if ($reply_code ne "TCP_DENIED\/407")
{
open (OUT, ">>$ident.user");
print OUT $ip_from." ".$url." ".$size."\n";
close OUT;
$sum=$sum+$size;
}
}
}
close ACCESS;
print "$l";
}
print ":";
print " $sum";
print " bytes\n";
print end_html;
вроде как все верно, но при выполнении он выводит:
": bytes "
в виде HTML:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>stat</title>
</head><body>: bytes
</body></html>
а вот когда через консоль:
Content-type: text/html
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>stat</title>
</head><body>rat: 170899 bytes
</body></html>
т.е. результат должен выводится.
как быть?