#!/usr/bin/perl use strict; my $curalg = "suck"; my %correlation; my %numboundaries; while (<>) { if (/^(\S+) has (\d+) boundaries/) { $numboundaries{$1} += $2; } if (/\*\*\* Correlation for (\S+):/) { $curalg = $1; } if (/(\d+):([\d\.]+)\s+(\S+)/) { $correlation{$curalg}{$3} += $1; } } print "&"; print join "&", sort keys %correlation; print "\n"; foreach my $alg (sort keys %correlation) { print "$alg&$numboundaries{$alg}"; foreach my $key (sort keys %correlation) { if ($key eq $alg) { print "&"; next } #printf "&$correlation{$alg}{$key}/%.3f/%.3f", $correlation{$alg}{$key} / $numboundaries{$alg}, $correlation{$alg}{$key} / $numboundaries{$key}; printf "&%.3f/%.3f", $correlation{$alg}{$key} / $numboundaries{$alg}, $correlation{$alg}{$key} / $numboundaries{$key}; } print "\n"; }