#!/usr/bin/perl open(FH, "poll_data_file_goes_here.txt"); my ($target1, $target1n, $target2, $target2n) = (3, "Edwards", 6, "Obama"); #my ($target1, $target1n, $target2, $target2n) = (3, "Edwards", 1, "Clinton"); #my ($target1, $target1n, $target2, $target2n) = (6, "Obama", 1, "Clinton"); my ($count, $a, $b, $both, $neither); J: while () { if (/^\d/) { my @v = split /,/; next J if (1 == @v); my ($one, $two); K: for my $k (0..3) { last K if ($k >= @v); $one = 1 if ($target1 == $v[$k]); $two = 1 if ($target2 == $v[$k]); } if ($one && $two) { $both++; } elsif ($one) { $a++; } elsif ($two) { $b++; } else { $neither++; } $count++; } } for( (\$a, \$b, \$both, \$neither) ) { $$_ /= $count; $$_ *= 100; } print "$target1n only: $a\n$target2n only: $b\nBoth: $both\nNeither: $neither\n";