-} else {
-
- open F, "r/alt12dicts/2of12id.txt" or die;
-
- while (<F>) {
- s/\r?\n$// or die;
- ($d,$w,$p,$a) = /^(\-?)(\w+) (.).*: ?(.*)$/ or die;
- my @a = $a =~ /([~@-]*\w+)/g;
- @a = map {"$d$_"} @a if ($d);
- my (@a0,@a1);
- foreach (@a) {if (s/^[~-]//) {push @a0, $_} else {push @a1, $_}}
- $remove{"$w:$p"} = 1 unless @a1;
- foreach (@a0) {$remove{"$w:$p:$_"} = 1}
- }
+my %lookup;
+my %remove;
+my %possessive;
+
+while (<F>) {
+ s/\r?\n$// or die;
+ # (flags, base word, part of speach, infl forms)
+ my ($d,$w,$p,$a) = /^([-@]?)(\w+) (.).*: ?(.*)$/ or die;
+ $possessive{$w} = "$w\'s\n" if $p eq 'N' && ($d eq '' || $use_all);
+ next if $use_all;
+ my @a = $a =~ /([-~@\w]+)/g;
+ @a = map {"$d$_"} @a if ($d);
+ my (@a0,@a1);
+ foreach (@a) {if (s/^[~-]//) {push @a0, $_} else {push @a1, $_}}
+ $remove{"$w:$p"} = 1 unless @a1;
+ foreach (@a0) {$remove{"$w:$p:$_"} = 1}