#!/usr/bin/perl -w

use strict;

my $statelist = "Alabama | Alaska | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Florida | Georgia | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Ohio | Oklahoma | Oregon | Pennsylvania | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Washington | West Virginia | Wisconsin | Wyoming | American Samoa | Guam | Northern Mariana Islands | Puerto Rico | Virgin Islands";

print q{<html><head><title>By-state statistics on Supreme Court dispositions</title></head>};

print q{<body><b>Disposition of Supreme Court decisions on certiorari or
appeal from state and territory courts, 1950-2006</b><br>
<font size="-1">Prepared by Keith Winstein (keithw at mit . edu), Sept. 6, 2006.</font><p>
Note: Only includes dispositions with signed opinions. Does not include summary affirmances, summary reversals, or per curiam pluralities.<p>};


print "<p><table>\n";
    printf "<tr><td><b>%s</b></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><b>%s</b></td></tr>\n", "State/Territory", "Affirmed", "Reversed",
  "Vacated", "Other", "Total";

my @states = split / \| /, $statelist;

for my $state ( @states ) {
  open DISPS, "dispositions" or die;

  my ( $affirmed, $reversed, $vacated, $other, $total ) = (0) x 5;

  while (<DISPS>) {
    next unless /$state/i;
    next if /United States/i;

    my $disp = (split /\|\|\|/, $_ )[1];
    $affirmed++ if ( $disp =~ /affirmed/i );
    $reversed++ if ( $disp =~ /reversed/i );
    $vacated++ if ( $disp =~ /vacated/i );
    $other++ if ( !( $disp =~ /affirmed/i )
		  and !( $disp =~ /reversed/i )
		  and !( $disp =~ /vacated/i ) );
		  
    $total++;
  }

  if ( $total != 0 ) {
    printf "<tr><td><b>%s</b></td><td>%d (%.f%%)</td><td>%d (%.f%%)</td><td>%d (%.f%%)</td><td>%d (%.f%%)</td><td><b>%d</b></td></tr>\n",
      $state, $affirmed, 100 * $affirmed / $total,
	$reversed, 100 * $reversed / $total,
	  $vacated, 100 * $vacated / $total,
	    $other, 100 * $other / $total,
	      $total;
  }
  close DISPS;
}

print "</table>";

print q{<p>

<font size="-2">This page has been accessed
<a href="http://stuff.mit.edu/doc/counter-howto.html"><img 
src="http://stuff.mit.edu/cgi/counter/statestats" alt="several"></a>
times.</font>};

print "</html>\n";
