home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / glimpsehttp / news / fixart < prev    next >
Encoding:
Text File  |  1995-05-16  |  760 b   |  39 lines

  1. #!/usr/local/bin/perl
  2.  
  3. opendir(DIR,".") || die "Cannot open .: $!";
  4.  
  5. $flag = 0;
  6. file: while ($file = readdir(DIR)) {
  7.     $new = $file . ".new";
  8.     open(IN,"<$file") || die "Cannot open $file: $!";
  9.     $article = "";
  10.     while (<IN>) {
  11.         if (/^$/) {
  12.             if ($flag) {
  13.                 print "Alert: $file\n";
  14.             } else {
  15.                 print "$file ok\n";
  16.             }
  17.             close(IN);
  18.             next file;
  19.         }
  20.         if (/(.+)((Subject|Newsgroups): .+\n)/) {
  21.             print "Fixing $file...";
  22.             $flag = 1;
  23.             open(OUT,">$new") || die "Cannot create $new: $!";
  24.             print OUT $article;
  25.             print OUT "From: $1\n$2";
  26.             print(OUT $_) while (<IN>);
  27.             close(IN);
  28.             close(OUT);
  29.             rename($new,$file) ||
  30.                 die "Cannot rename $new to $file: $!";
  31.             print "ok\n";
  32.             next file;
  33.         }
  34.         $article .= $_;
  35.     }
  36.     close(IN);
  37. }
  38. closedir(DIR);
  39.