home *** CD-ROM | disk | FTP | other *** search
/ Internet 1996 World Exposition / park.org.s3.amazonaws.com.7z / park.org.s3.amazonaws.com / cgi-bin / Japan / WIDE / autopost.pl < prev    next >
Perl Script  |  2017-09-21  |  2KB  |  89 lines

  1. #! /usr/local/bin/perl
  2.  
  3. $spooldir = '/proj/WWW/htdocs/auto-whatsnew';
  4. $spoolhtml = 'http://www.wide.ad.jp/auto-whatsnew';
  5. $sequencefile = "$spooldir/seq";
  6. $intindexfile = "$spooldir/idx";
  7. $indexfile = "$spooldir/idx.html";
  8. @members = ('itojun@mt.cs.keio.ac.jp', 'itojun@csl.sony.co.jp',
  9.     'shigeya@foretune.co.jp');
  10.  
  11. chop($date = `date`);
  12.  
  13. #open(IN, "nkf -s - |");
  14. open(IN, "<&STDIN");
  15.  
  16. # incorporate headers
  17. $s = select(IN); $/ = "\n\n"; select($s);
  18. $headers = <IN>;
  19. $headers =~ s/\n\s+/ /g;
  20. @headers = split("\n", $headers);
  21.  
  22. # security check
  23. $from = join(' ', grep(/^from:/i, @headers));
  24. $from =~ s/From:\s+/ /;
  25. $ok = 1;    # disable security check
  26. #$ok = 0;
  27. foreach $i (@members) {
  28.     if ($from =~ /$i/) {
  29.         $ok = 1;
  30.         break;
  31.     }
  32. }
  33. if (! $ok) {
  34.     exit 0;
  35. }
  36. open(TEST, ">/tmp/hoge");
  37. print TEST "this is test\n";
  38. close(TEST);
  39.  
  40.  
  41. # incorporate sequence number
  42. open(SEQ, "<$sequencefile");
  43. chop($sequence = <SEQ>);
  44. close(SEQ);
  45. open(SEQ, ">$sequencefile");
  46. print SEQ ++$sequence . "\n";
  47. close(SEQ);
  48.  
  49. #open(OUT, "| nkf > $spooldir/$sequence.html");
  50. open(OUT, "> $spooldir/$sequence.html");
  51.  
  52. print OUT "<HTML><BODY><PRE>\n";
  53. print OUT ($subject = join("\n", grep(/^subject:/i, @headers)) . "\n");
  54. $subject =~ s/Subject:\s*//ig;
  55. $subject =~ s/\n+/ /g;
  56. $subject =~ s/\s+$//;
  57. print OUT join("\n", grep(/^date:/i, @headers)) . "\n";
  58. print OUT join("\n", grep(/^from:/i, @headers)) . "\n";
  59. print OUT join("\n", grep(/^cc:/i, @headers)) . "\n";
  60. print OUT join("\n", grep(/^message-id:/i, @headers)) . "\n";
  61. print OUT join("\n", grep(/^in-reply-to:/i, @headers)) . "\n";
  62.  
  63. # output body
  64. $s = select(IN); $/ = "\n"; select($s);
  65. while (<IN>) {
  66.     print OUT;
  67. }
  68. print OUT "</PRE></BODY></HTML>\n";
  69. close(OUT);
  70. close(IN);
  71.  
  72. # create index file for internal use
  73. open(INTIDX, ">>$intindexfile");
  74. print INTIDX "<LI> $date: <A HREF=$spoolhtml/$sequence.html>$subject</A>\n";
  75. close(INTIDX);
  76.  
  77. # create index file
  78. open(IDX, ">$indexfile");
  79. print IDX "<HTML><BODY><UL>\n";
  80. open(INTIDX, "<$intindexfile");
  81. while (<INTIDX>) {
  82.     print IDX;
  83. }
  84. close(INTIDX);
  85. print IDX "</UL></BODY></HTML>\n";
  86. close(IDX);
  87.  
  88. exit 0;
  89.