#!/usr/bin/perl use Mail::Mbox::MessageParser; use Email::MIME; use Encode; my $infile = shift @ARGV; Mail::Mbox::MessageParser::SETUP_CACHE( { 'file_name' => 'mbox.cache' }); my $folder_reader = new Mail::Mbox::MessageParser({ 'file_name' => $infile, 'enable_grep' => 1, }); die $folder_reader unless ref $folder_reader; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()){ my $rawemail = $folder_reader->read_next_email(); my $email = Email::MIME->new($rawemail); $email->body_set("New Body Text"); print $email->as_string