home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0417.ZIP / CCE_0417.PD / ASCREEN.ZOO / hypertex / hyp.pl next >
Perl Script  |  1992-01-13  |  616b  |  26 lines

  1. #!/usr/local/bin/perl
  2. # HYP.PL --- Perl-Programm zum Sortieren von HyperTeX-Link-Dateien
  3. # 12. Januar 1992 Anselm Lingnau
  4. #
  5. # Syntax:    perl hyp.pl foo.hyp >foo.hl
  6. #
  7. while (<>) {
  8.     ($page, $kind, $name) = split(/([>!])/, $_, 3);
  9.     $def{$name} = "$page" if $kind eq '!';
  10.     $ref{$name} .= "$page#";
  11. }
  12. @refs = sort keys %ref;
  13. print scalar(@refs), "\n";
  14. foreach (@refs) {
  15.     $ref{$_} = join(':', &nodoubles($ref{$_}));
  16.     $def{$_} = '0' if !defined $def{$_};
  17.     print "$ref{$_}:$def{$_}:$_";
  18. }
  19.  
  20. sub nodoubles {
  21.     local(%seen);
  22.     local(@ret) = grep(!$seen{$_}++, split(/#/, $_[0]));
  23.     (scalar(@ret), @ret);
  24. }
  25.  
  26.