#This calculates statistics for lines sung in "The Ballad of Michigan J".
#leonardr 6/30/1999

%abbrevs =
(
"A" => "All",
"F" => "Fred",
"G" => "Grep",
"M" => "Michigan J.",
"N" => "Narrator",
"B" => "Boss",
"Z" => "Zcat",
);

while(<>)
{
    if (/^\w: /)
    {
	$last = substr($_,0,1);
	$times{$last}++;
    }elsif (/   /) {
	$times{$last}++;
    }

    if (/Snickers/)
    {
	$snickers{$last}++;
    }

    if (/Snickers bar/)
    {
	$snickers_bar{$last}++;
    }

    if (/Snickers bar, Snickers bar/)
    {
	$snickers_bar_snickers_bar{$last}++;
    }

}

print "Statistical analysis of \"The Ballad of Michigan J.\"\n";
print "---------------------------------------------------\n\n";
print "As you can see, this data conclusively proves that \"Ballad\" was\n";
print "written by ALIENS, as no human could possibly be this obsessed\n";
print "with the phrase \"Snickers bar, Snickers bar\"\n\n";

print "Total lines:\n";
foreach $a (sort keys %abbrevs)
{
    print "$abbrevs{$a}: $times{$a}\n";
}
print "\n";

print "\"Snickers\" lines:\n";
foreach $a (sort keys %abbrevs)
{
    print "$abbrevs{$a}: $snickers{$a} (".
	percent($snickers{$a}/$times{$a}).
	    " of total)\n"
		if $snickers{$a};
}
print "\n";

print "\"Snickers bar\" lines:\n";
foreach $a (sort keys %abbrevs)
{
    print "$abbrevs{$a}: $snickers_bar{$a} (".
	percent($snickers_bar{$a}/$times{$a})
	    ." of total)\n"
		if $snickers_bar{$a}; 
}
print "\n";

print "\"Snickers bar, Snickers bar\" lines:\n";
foreach $a (sort keys %abbrevs)
{
    print "$abbrevs{$a}: $snickers_bar_snickers_bar{$a} (".
	percent($snickers_bar_snickers_bar{$a}/$times{$a})
	    ." of total)\n" 
		if $snickers_bar_snickers_bar{$a}; 
}
print "\n";

sub percent
{
    ($a) = @_;
    $a *= 10000;
    $a = int($a);
    $a /= 100;
    return $a."%";
}
