home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / man-1.0-bin.lha / bin / makewhatis < prev    next >
Text File  |  1996-10-12  |  820b  |  54 lines

  1. #!/bin/perl
  2.  
  3. foreach (</ade/man/cat?/*.0>)
  4. {
  5.   open(IN, $_) || die "cannot open $_\n";
  6.   while (<IN>)
  7.   {
  8.   s/\r//g;
  9.   chop;
  10.   if ($naming)
  11.   {
  12.     s/_\cH//g;
  13.     if (/^\S/)
  14.     {
  15.       $_ = $name;
  16.       s/([a-z][A-z])-\s+/$1/;
  17.       s/([a-zA-Z0-9,])\s+/$1 /g;
  18.       s/\W*(\w*)\W*(.*)\s+-\s+(.*)\s*/$2 ($1) - $3/;
  19.       push(@list, "$_\n");
  20.       $naming = 0;
  21.       last;
  22.     }
  23.     else
  24.     {
  25.       $name .= $_;
  26.     }
  27.   }
  28.   elsif (/^\s*(\w+)\((\S+)\)\s.*\s(\w+)\(\S+\)\s*$/)
  29.   {
  30.     if ($1 eq $3)
  31.     {
  32.       $name = $2;
  33.     }
  34.   }
  35.   elsif (/^(N\cHNA\cHAM\cHME\cHE|NAME)/)
  36.   {
  37.     $naming = 1;
  38.   }
  39.   }
  40. }
  41.  
  42. open(OUT, ">/ade/man/whatis.db") || die "cannot open /ade/man/whatis.db\n";
  43. print OUT sort icmp @list;
  44. exit 0;
  45.  
  46. sub icmp
  47. {
  48.   $aa = $a;
  49.   $aa =~ tr/[A-Z]/[a-z]/;
  50.   $bb = $b;
  51.   $bb =~ tr/[A-Z]/[a-z]/;
  52.   $aa cmp $bb;
  53. }
  54.