9 sub valid_entry ( $ ){local $_ = $_[0]; /^[A-Za-z\']+$/ && exists $words{$_}}
11 foreach my $f (qw(working/variant_0.lst working/variant_1.lst
12 working/variant_2.lst r/varcon/abbc.tab))
14 open F, $f or die "Unable to open $f\n";
16 my (@words) = split /[\t\n]+/;
17 $know_about{$_} = 1 foreach @words;
21 open F, "r/varcon/voc.tab" or die;
25 my ($word) = grep {valid_entry $_} (split /[,\t\n]/);
26 next unless defined $word;
31 open F, "r/varcon/variant.tab" or die;
34 @w = grep {$know_about{$_}} (split /[\t\n]/);
35 next unless @w && grep {valid_entry $_} @w;
36 $words{$w[0]} .= "$_\n" foreach @w;
39 open F, "r/varcon/variant-wroot.tab" or die;
44 next unless exists $words{$root};
45 @w = grep {$know_about{$_}} (split /[\t\n]/);
46 next unless @w && grep {valid_entry $_} @w;
47 $words{$w[0]} .= "$_\n" foreach @w;
50 while (($key, $value) = each %words) {