add_counts.pl 680 Bytes
#!/usr/bin/env perl


# Add counts to an oovlist.
# Reads in counts as output by uniq -c, and
# an oovlist, and prints out the counts of the oovlist.

(@ARGV == 1 || @ARGV == 2) || die "Usage: add_counts.pl count_file [oovlist]\n";

$counts = shift @ARGV;

open(C, "<$counts") || die "Opening counts file $counts";

while(<C>) {
  @A = split(" ", $_);
  @A == 2 || die "Bad line in counts file: $_";
  ($count, $word) = @A;
  $count =~ m:^\d+$: || die "Bad count $A[0]\n";
  $counts{$word} = $count;
}

while(<>) {
  chop;
  $w = $_;
  $w =~ m:\S+: || die "Bad word $w";
  defined $counts{$w} || die "Word $w not present in counts file";
  print "\t$counts{$w}\t$w\n";
}