8 my $publish_rejections= 0;
9 if ($ARGV[0] eq '-P') {
10 $publish_rejections= 1;
18 $dir =~ s,/bin$,/log,;
23 sub parse__headerline () {
24 $f{Subject}= $' if m/^Subject:\s*/i; #';
25 $f{MessageID}= $' if m/^Message\-ID:\s*/i; #';
26 $f{From}= $' if m/^From:\s*/i; #';
28 sub parse__stumpsubject () {
29 $f{MessageNum}=$1 if m/^Subject:.*\:\:\w+\/(\d+)$/i;
40 sub parse_submission () {
44 $hadng++ if m/^Newsgroups:/i;
54 sub parse_stump2webstump () {
57 parse__stumpsubject() unless exists $f{'MessageNum'};
68 sub parse_webstump2stump () {
71 parse__stumpsubject();
76 next unless m/^reject|^approve|^preapprove/;
82 sub parse_mailout () {
85 $keepheader= 1 unless m/^[ \t]/;
99 $line =~ s/\@.{0,2}/ at ../g if $keepheader eq 'mangle';
103 $f{Event}= "notify $'" if m/^X-Webstump-Event:\s*/i; #';
109 next unless s/^\> //;
117 while (<STDIN>) { $message .= $_; }
118 STDIN->error and die $!;
122 if ($publish_rejections &&
123 $f{Event} =~ m/^notify reject /) {
124 $f{CopyRef}= $f{MessageID};
125 $f{CopyRef} =~ s/\W/ sprintf '-%02x', ord($&) /ge;
126 open I, ">$dir/public/nr-$f{CopyRef}.txt" or die $!;
127 print I $message or die $!;
131 open L, ">>$dir/event.log" or die $!;
135 $v= '' unless defined $v;
139 } qw(Now MessageNum MessageID From Subject Event CopyRef);
141 print L join("\t",@s)."\n" or die $!;