Mail::Thread::Chronological 1.22 review

Download
by rbytes.net on

Mail::Thread::Chronological can rearrange Mail::Thread::Containers into a Chronological structure. SYNOPSIS use Mail::Thread;

License: Perl Artistic License
File size: 4K
Developer: Richard Clamp
0 stars award from rbytes.net

Mail::Thread::Chronological can rearrange Mail::Thread::Containers into a Chronological structure.

SYNOPSIS

use Mail::Thread;
use Mail::Thread::Chronological;

my $threader = Mail::Thread->new( @messages );
my $lurker = Mail::Thread::Chronological->new;

$threader->thread;

for my $thread ($threader->rootset) {
for my $row ( $lurker->arrange( $thread ) ) {
my $container = grep { ref $_ } @$row;
print join('', map { ref $_ ? '*' : $_ } @$row),
" ", $container->messageid, "n";
}

Given a Mail::Thread::Container, Mail::Thread::Chronological transforms the tree structure into a 2-dimensional array representing the history of a given thread in time.
The output is similar to that of the Lurker mail archiving system, with a couple of small exceptions:

Characters used

The grid is populated with the characters ' ' (space), '-', '+', '|', '{', or Mail::Thread::Container objects. Lurker uses [a-g], and differentiates T-junctions from corners for you, this module assumes you will do that for yourself.

The characters mean:

space

empty cell

-

horizontal line

+

T junction or corner

|

vertical line

{

vertical line crossing over a horizontal line

Vertical stream crossing is permitted

In the original lurker crossing a path vertically is not allowed, this results in a lot of horizontal space being used.

Requirements:
Perl

Mail::Thread::Chronological 1.22 keywords