#!/afs/athena/contrib/perl5/perl

$pat = shift @ARGV;

while(<>){
    split;
    $ip = $_[0];
    $uri = $_[6];
    next if ($uri=~/\.gif$/i);
    next if ($uri=~/\.jpg$/i);
    next if ($uri=~/\.jpeg$/i);
    next if ($uri=~/\.xbm$/i);
    next if ($uri=~/\.class$/i);
    next if ($uri=~/^\/cgi\/counter/);
    $ref = $_[10];
    $ref=~ s/^http:\/\/www.mit.edu//i;
    $ref=~ s/^:8001//;
    $ref=~ s/^:80//;

    $ref = $last{$ip};
    if($ref eq $uri){
	$ref = "-";
    }
    $last{$ip} = $uri;
    next unless (($uri =~ /$pat/) || ($ref =~ /$pat/));
    $hits{$uri}++ if ($uri =~ /$pat/);
    ${$click{$ref}}{$uri}++ if ($ref =~ /$pat/);
    &report if($ct++%1000 == 0);
}

&report;

sub report {
    @m = keys %hits;
    print("----------------------------------------------------\n");
    print("---------------- $ct -------------------------------\n");
    print("----------------------------------------------------\n");
    foreach $u (sort {$hits{$b} <=> $hits{$a} } @m){
	print("\nTotal of $hits{$u} hits to $u\n");
	print("Click throughs:\n");
	$cp=0;
	foreach $c (sort {${$click{$u}}{$b} <=> ${$click{$u}}{$a}} keys %{$click{$u}}) {
	    $p = int(10000*${$click{$u}}{$c}/$hits{$u})/100;
	    $cp += $p;
	    print("\t${$click{$u}}{$c} ($p%) $c\n");
	}
	print("Total clickthrough percentage: $cp%\n");
    }
}
