#!/usr/bin/perl -w # Title : split mail.pl # Function : split concatinated mail file into seperated files # Author : Pascal Schiks (C) 2006 GNU/GPL use strict; # Configuration my $DEBUG=0; my $version="v1.0"; # Globals # Start print "Running : splitmail.pl $version\n"; if(@ARGV) { my $mailfile=$ARGV[$#ARGV]; print "Reading : $mailfile\n"; if(open(MAILFILE,$mailfile)) { my $mail_cnt=0; my $fileopen=0; my $splitfile; while() { my $mailline=$_; my $newfile=0; if($mailline=~m/^From .*\@.*/) { $mail_cnt++; $newfile=1; print "$mail_cnt $mailline"; } if($newfile) { $newfile=0; $splitfile="$mailfile.$mail_cnt"; if($fileopen) { close(SPLITFILE); $fileopen=0; if($DEBUG) { print "Closing $splitfile\n" . "========================================================\n"; } } if(open(SPLITFILE,">$splitfile")) { $fileopen=1; print "Writing $splitfile\n" . "-----------------------------------------------------------\n"; } else { print "Error creating $splitfile\n"; } } if($fileopen) { print SPLITFILE $mailline; if($DEBUG) { print $mailline; } } } close(MAILFILE); } else { print "Error, could not open $mailfile\n"; } } else { print "Usage :\n"; }