Email::Thread - Use JWZ's mail threading algorithm with Email::Simple objects
version 0.712
use Email::Thread; my $threader = Email::Thread->new(@messages); $threader->thread; dump_em($_,0) for $threader->rootset; sub dump_em { my ($self, $level) = @_; debug (' \\-> ' x $level); if ($self->message) { print $self->message->header("Subject") , "\n"; } else { print "[ Message $self not available ]\n"; } dump_em($self->child, $level+1) if $self->child; dump_em($self->next, $level) if $self->next; }
Strictly speaking, this doesn't really need Email::Simple objects. It just needs an object that responds to the same API. At the time of writing the list of classes with the Email::Simple API comprises just Email::Simple.
Due to how it's implemented, its API is an exact clone of Mail::Thread. Please see that module's documentation for API details. Just mentally substitute Email::Thread everywhere you see Mail::Thread and Email::Thread::Container where you see Mail::Thread::Container.
Email::Thread
Mail::Thread
Email::Thread::Container
Mail::Thread::Container
Simon Cozens (SIMON) for encouraging me to release it, and for Email::Simple and Mail::Thread.
Richard Clamp (RCLAMP) for the header patch.
perl, Mail::Thread, Email::Simple
Iain Truskett <spoon@cpan.org>
This software is copyright (c) 2003 by Iain Truskett <spoon@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Email::Thread, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Email::Thread
CPAN shell
perl -MCPAN -e shell install Email::Thread
For more information on module installation, please visit the detailed CPAN module installation guide.