1# /usr/bin/perl 2 3# doc/src/sgml/mk_feature_tables.pl 4 5use strict; 6use warnings; 7 8my $yesno = $ARGV[0]; 9 10open my $pack, '<', $ARGV[1] or die; 11 12my %feature_packages; 13 14while (<$pack>) 15{ 16 chomp; 17 my ($fid, $pname) = split /\t/; 18 if ($feature_packages{$fid}) 19 { 20 $feature_packages{$fid} .= ", $pname"; 21 } 22 else 23 { 24 $feature_packages{$fid} = $pname; 25 } 26} 27 28close $pack; 29 30open my $feat, '<', $ARGV[2] or die; 31 32print "<tbody>\n"; 33 34while (<$feat>) 35{ 36 chomp; 37 my ($feature_id, $feature_name, $subfeature_id, 38 $subfeature_name, $is_supported, $comments) = split /\t/; 39 40 $is_supported eq $yesno || next; 41 42 $feature_name =~ s/</</g; 43 $feature_name =~ s/>/>/g; 44 $subfeature_name =~ s/</</g; 45 $subfeature_name =~ s/>/>/g; 46 47 print " <row>\n"; 48 49 if ($subfeature_id) 50 { 51 print " <entry>$feature_id-$subfeature_id</entry>\n"; 52 } 53 else 54 { 55 print " <entry>$feature_id</entry>\n"; 56 } 57 print " <entry>", 58 defined($feature_packages{$feature_id}) 59 ? $feature_packages{$feature_id} 60 : "", 61 "</entry>\n"; 62 if ($subfeature_id) 63 { 64 print " <entry>$subfeature_name</entry>\n"; 65 } 66 else 67 { 68 print " <entry>$feature_name</entry>\n"; 69 } 70 print " <entry>$comments</entry>\n"; 71 72 print " </row>\n"; 73} 74 75print "</tbody>\n"; 76 77close $feat; 78