I'd look into avoiding reading the mbox file to begin with. With a properly defined alias or .forward file, you could use a script using
Mail::Procmail to intercept the email as it's being delivered.
By doing so, you've eliminated all the headaches that go with handling the mbox file yourself. In addition, Mail::Procmail's pm_init method returns a
Mail::Internet object, which will allow for easy manipulation of headers and bodies (and re-sending the email, as necessary).
Of course, if you're not using any of the more advanced features of Mail::Procmail, you could eliminate your use of the module by creating your Mail::Internet object directly:
my $mail = Mail::Internet->new(\*STDIN);
Hope this helps!
--
jwest
-><- -><- -><- -><- -><-
All things are Perfect
To every last Flaw
And bound in accord
With Eris's Law
- HBT; The Book of Advice, 1:7