#!/usr/bin/perl use strict; use warnings; my $md = 0; my %M; my @r; for(my $i = 0; $i <= 13; $i++) { for(my $j = 0; $j <= 60; $j++) { $r[$i][$j] = 0; } } my $ct = 0; while(<>) { chomp; s/weka//ig; my @p = split /, /; foreach my $m (@p) { if(!exists $M{$m}) { $ct++; $M{$m} = $ct; } } for(my $i = 0; $i < @p; $i++) { my $m = $p[$i]; $r[$M{$m}][$i]++; #print "$m\t$M{$m}\t$i\t$r[$M{$m}][$i]\n"; } if(@p >$md) { $md = @p } } my $max = 0; foreach my $k (sort hashValueAscendingNum keys %M) { print "$k = $M{$k}\n"; if($M{$k} > $max) { $max = $M{$k} } } print "max is $max, md = $md\n"; for(my $j = 1; $j <=$max; $j++) { my $out = ""; for(my $i = 0; $i < $md; $i++) { my $tmp = 0; $tmp += $r[$j][$i]; $out .= $tmp/10; $out .= "\t"; } print "$out\n\n"; } sub hashValueAscendingNum { $M{$a} <=> $M{$b}; }