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

$|=1;
while(<>){
    &doanalysis unless (($ARGV eq $last)||!$last);
    $body .=  $_;
    $last = $ARGV;
}
&doanalysis;
@linkylist = sort{$v=1 if $a > $b; $v=-1 if $a<$b;$v; }(@linkylist);
@niftylist = sort{$v=1 if $a > $b; $v=-1 if $a<$b;$v; }(@niftylist);
@hugelist = sort{$v=1 if $a > $b; $v=-1 if $a<$b;$v; }(@hugelist);


print("\n\nHugeness...\n");
print join("\n", @hugelist);
print("\n");

sub doanalysis {

$nlinks = ($body=~s/(<a[ \t\n])/$1/gi);
$nimages = ($body=~s/<img/<img/gi);
$len = length($body);

$bodytmp = $body; $uimgs = 0;
while($bodytmp=~ /<img[^>]+src[^=]*=[ \t\n]*([^ \t\n]+)/ig){
    $imagename= $1;
    if(!$uimages{$imagename}){
	$uimages{$imagename}=1;
	$uimgs++;
    }
}

$bodytmp=$body;
$bodytmp2 = $body;
$bodytmp =~ s/<[^>]*>//g;
$delen = length($bodytmp);

print("\n$last\n---\n") if $#ARGV;
print("Links: $nlinks\n");
print("Images: $nimages\n");
print("Unique Images: $uimgs\n");
print("Length: $len\n");
print("Delen: $delen\n");

$markup = $len/$delen;
$irep = $nimages/$uimgs if $uimgs;
$irep = 1 if !$uimgs;

print("Markup: $markup\n");
print("Image repetetiveness: $irep\n");

$linky = ($nlinks - $nimages) / sqrt($len);
$nifty = 12.5*sqrt($markup*$nlinks*$uimgs/(sqrt($len)*$irep*$irep));
$hugeness = log(1+$uimgs*$uimgs*log($len)*log($nlinks+2)*sqrt($nimages)*$markup);

print("Linkiness: $linky\n");
print("Niftyness: $nifty\n");
print("Hugeness: $hugeness\n");
push(@linkylist, "$linky $last");
push(@niftylist, "$nifty $last");
push(@hugelist, "$hugeness $last");
$body = "";
}
