#! /usr/bin/perl -w 

use strict;

#my $start = 'ALL =~ /\n(?:Reply-To|CC|To|From|Sender|X-Envelope-Sender|Message-Id|Return-Path):.*@.{0,30}(?:' ;
my $start = 'ALL =~ /\n(?:Reply-To|CC|To|From|Sender|X-Envelope-Sender|Message-Id|Return-Path):.*@(?:.{0,30}\.)?(?:' ;
my $end = ')\b/i' ;
#my $max_length = 5000;
my $max_length = 500;
my $line = '';

my $SA_rule_prefix="LOCAL_HEADER_CHECKS_";
my $SA_rule_desc="LOCAL HEADER CHECKS";
my $score = "5.0";

my $count=1;

while (<>) {
	chomp ;
	s/#.*// ;
	next if (/^$/) ;
	next if (/^[0-9.]+$/);
	next if (/\//);
	s/\./\\./g ;
	#s/\./\(\\.\|=2e\)/g ;
	#s/\./\(?:\\.\|=2e\)/g ;
	$line .= "$_|" ;
	if (length($line) > $max_length ) {
		chop $line ;
        printit($line);
		$line = '';
		$count++;
	} ;
} ;

unless ($line eq '') {
	chop $line ;
    printit($line);
} ;

sub printit {
  my $LINE = shift;
  print "header\t$SA_rule_prefix$count\t",$start, $LINE, $end, "\n" ;
  print "describe\t$SA_rule_prefix$count\t$SA_rule_desc $count\n" ;
  print "score\t$SA_rule_prefix$count\t$score\n";
  print "\n";
} ;
