Hello, I would like to know how to modify the below code to strip =20
characters at the end of many lines, and mainly to sort the messages chronologically from first received or sent to last. I am not sure if this would be an internal Perl routine or not.
#!/usr/bin/perl
use warnings;
use strict;
use Mail::Box::Manager;
my $file = shift || $ENV{MAIL};
my $mgr = Mail::Box::Manager->new(
access => 'r',
);
my $folder = $mgr->open( folder => $file )
or die "$file: Unable to open: $!\n";
for my $msg ($folder->messages)
{
my $to = join( ', ', map { $_->format } $msg->to );
my $from = join( ', ', map { $_->format } $msg->from );
my $date = localtime( $msg->timestamp );
my $subject = $msg->subject;
my $body = $msg->body;
# Strip all quoted text
$body =~ s/^>.*$//msg;
print <<"";
From: $from
To: $to
Date: $date
$body
}
When trying to run this I get the following errors:
"my" variable $msg masks earlier declaration in same scope at x.pl line 16. syntax error at x.pl line 15, near ") ) " syntax error at x.pl line 31, near "}" (Might be a runaway multi-line << string starting on line 25) Execution of x.pl aborted due to compilation errors.
I am not sure as to why, as the syntax seems fine.