#!/usr/bin/perl -w use strict; our %allow_class = ((map { $_=>1 } qw(v n a interjection conj pron prep modal infinitive-marker)), (map { $_=>0 } qw(det adv))); our %words; while (<>) { # frequency sort rank, frequency, word, word-class m/^\d+ (\d+) (\S+) (\S+)$/ or die "$_ ?"; my ($freq,$word,$class) = ($1,$2,$3); my $allow = $allow_class{$class}; if (!defined $allow) { warn "$class ?"; $allow = $allow_class{$class} = 1; } next unless $allow; $words{$word} += $freq; } our @words = sort { $words{$b} <=> $words{$a} } keys %words; print $_,"\n" or die $! foreach @words;