home *** CD-ROM | disk | FTP | other *** search
- #!/bin/perl
-
- foreach (</ade/man/cat?/*.0>)
- {
- open(IN, $_) || die "cannot open $_\n";
- while (<IN>)
- {
- s/\r//g;
- chop;
- if ($naming)
- {
- s/_\cH//g;
- if (/^\S/)
- {
- $_ = $name;
- s/([a-z][A-z])-\s+/$1/;
- s/([a-zA-Z0-9,])\s+/$1 /g;
- s/\W*(\w*)\W*(.*)\s+-\s+(.*)\s*/$2 ($1) - $3/;
- push(@list, "$_\n");
- $naming = 0;
- last;
- }
- else
- {
- $name .= $_;
- }
- }
- elsif (/^\s*(\w+)\((\S+)\)\s.*\s(\w+)\(\S+\)\s*$/)
- {
- if ($1 eq $3)
- {
- $name = $2;
- }
- }
- elsif (/^(N\cHNA\cHAM\cHME\cHE|NAME)/)
- {
- $naming = 1;
- }
- }
- }
-
- open(OUT, ">/ade/man/whatis.db") || die "cannot open /ade/man/whatis.db\n";
- print OUT sort icmp @list;
- exit 0;
-
- sub icmp
- {
- $aa = $a;
- $aa =~ tr/[A-Z]/[a-z]/;
- $bb = $b;
- $bb =~ tr/[A-Z]/[a-z]/;
- $aa cmp $bb;
- }
-