NAME
Mail::Box::MH::Labels - process file which maintains message related labels
CLASS INHERITANCE
Mail::Box::MH::Labels is a Mail::Reporter
SYNOPSIS
my $labels = Mail::Box::MH::Labels->new;
$labels->read(...)
$labels->write(...)
DESCRIPTION
MH type message folders use one dedicated file per folder-directory to list special tags to messages in that folder. By doing this, mail agents may avoid parsing all the messages, which is very resource consuming.
Labels can be used to group messages, for instance to reflect which messages have been read or which look like spam.
Typically, the file which contains the labels is called .mh_sequences
. The MH messages are numbered from 1
. As example content for .mh_sequences
:
cur: 93
unseen: 32 35-56 67-80
To generalize labels on messages, two are treated specially:
cur
The
cur
specifies the number of the message where the user stopped reading mail from this folder at last access. Internally in these modules referred to as labelcurrent
.unseen
With
unseen
is listed which message was never read. This must be a mistake in the design of MH: it must be a source of confusion. People should never use labels with a negation in the name:if($seen) if(!$unseen) #yuk! if(!$seen) if($unseen) unless($seen) unless($unseen) #yuk!
So: label
unseen
is translated intoseen
for internal use.
METHODS
Initiation
The Label Table
- filename
-
Returns the name of the index file.
- get MSGNR
-
Look if there is label info for message MSGNR.
Reading and Writing [internals]
- append MESSAGES
-
Append the label information about the specified MESSAGES to the end of the label file. The information will not be merged with the information already present in the label file.
- print FILEHANDLE, MESSAGES
-
Print the labels of the specified messages to the opened file.
- read
-
Read all label information from file.
- write MESSAGES
-
Write the labels related to the specified messages to the label file.
Logging and Tracing
- defaultTrace [LEVEL, [LEVEL]
-
See Mail::Reporter::defaultTrace()
- errors
-
See Mail::Reporter::errors()
- log [LEVEL [,STRINGS]]
-
See Mail::Reporter::log()
- report [LEVEL]
-
See Mail::Reporter::report()
- reportAll [LEVEL]
-
See Mail::Reporter::reportAll()
- trace [LEVEL]
-
See Mail::Reporter::trace()
- warnings
-
See Mail::Reporter::warnings()
Other Methods
- AUTOLOAD
-
See Mail::Reporter::AUTOLOAD()
- DESTROY
-
See Mail::Reporter::DESTROY()
- inGlobalDestruction
-
See Mail::Reporter::inGlobalDestruction()
- logPriority LEVEL
-
See Mail::Reporter::logPriority()
- logSettings
-
See Mail::Reporter::logSettings()
- notImplemented
-
See Mail::Reporter::notImplemented()
SEE ALSO
A good start to read is Mail::Box-Overview. More documentation and a mailinglist are available from the project's website at http://perl.overmeer.net/mailbox/.
AUTHOR
Mark Overmeer (mark@overmeer.net) with the help of many.
VERSION
This code is beta, version 2.025.
Copyright (c) 2001-2002 Mark Overmeer. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.