monitoring/yna-recompute-summary/display-dups.pl (16 lines of code) (raw):

#!/usr/bin/perl -w use strict; my $label = shift // "(stdin)"; my %votes; my %result; while (<>) { my (undef, $hash, undef, $vote) = split; $votes{$hash} .= substr($vote, 0, 1); $result{$vote}++; } while (my ($h, $v) = each %votes) { print "WARNING: $label: '$h' voted '$v'\n" if $v =~ /../; } my $yesno = ($result{yes} > $result{no}) ? "YES" : "NO"; my $margin = ($result{yes} - $result{no}); print "RESULTS: $label: $yesno (margin=$margin; +$result{yes}, -$result{no}, =$result{abstain})\n"; warn "Unknown keys found" if grep { ! /^(yes|no|abstain)$/ } keys %result;