[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Condensing multiple re, fw and fwds (was Removeing RE and Prefix)
On 28 Feb 2002 at 21:57, Simeon Nevel wrote:
>
> I currently preprocess my incoming messages with a perl prog consisting
> a long series of regexps to deal with this.
Someone asked that I post my perl pre-processor that deals with multiple re &
fwd strings.
It also handles some other stuff.
Here 'tis:
#!/usr/bin/perl
$file = shift @ARGV;
$outfile = $file . 'f';
print "Opening $file for input\n";
open (INPUT, $file) || die "Can't open $file\n";
open (OUTPUT, ">$outfile") || die "Can't open $outfile\n";
while (defined($original = <INPUT>)) {
if ($original =~ /^Subject:/) {
&fixit;
}
print OUTPUT $original;
}
close INPUT;
close OUTPUT;
sub fixit {
$fixed = "N";
$start = $original;
## Eliminate the [etherbun] tag
if ($original =~ /\[etherbun\]/i) {
$original =~ s/\[etherbun\]//i;
$fixed = "Y";
}
## Catch and eliminate *some* []s
if ($original =~ /^subject:\s*(re:\s*)?\[.*\]\s*$/i) {
$original =~ s/[\[\]]//g;
$fixed = "Y";
}
## Catch and eliminate Fwd:|(fwd)
if ($original =~ /\(?fwd[):]?/i) {
$original =~ s/\(?fwd[):]?//ig;
$fixed = "Y";
}
## Catch and eliminate some "s
if ($original =~ /^subject:\s*(re:\s*)?\".*\"\s*$/i) {
$original =~ s/\"//g;
$fixed = "Y";
}
## Catch and eliminate some other "s
if ($original =~ /^subject:\s*(re:\s*)?\"/i) {
$original =~ s/\"//g;
$fixed = "Y";
}
## Catch and fix [n]:
if ($original =~ /(\[\d+\])/i) {
$original =~ s/(\[\d+\])//ig;
$fixed = "Y";
}
## Catch and fix multiple re:'s
if ($original =~ /^subject:\s*(re\s*:\s*){2,}/i) {
$original =~ s/^(subject:)\s*(re\s*:\s*){2,}/$1 Re: /i;
$fixed = "Y";
}
## Catch and fix Subject: spacing
if ($original =~ /^subject:\s{2,}/i) {
$original =~ s/^subject:\s*/Subject: /i;
$fixed = "Y";
}
## Catch and fix re: spacing
if ($original =~ /^subject: (re:)\s{2,}/i) {
$original =~ s/^Subject: re:\s*(.*)/Subject: Re: $1/i;
$fixed = "Y";
}
if ($fixed eq "Y") {
print "Original => $start";
print "Fixed => $original\n";
}
}
--
Simeon B. Nevel
112 Aguirre Way
Cotati, CA 94931
snevel@sonic.net
(707) 792-9866 Home
(707) 738-0138 Cell
[Index of Archives]
[Bugtraq]
[Yosemite News]
[Mhonarc Home]