The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Email::Delete - Delete Messages from Folders

SYNOPSIS
      use Email::Delete qw[delete_message];
  
      my $message_id = shift @ARGV;
  
      delete_messages from     => $ENV{MAIL},
                      matching => sub {
                          my $message = shift;
                          $message->header('Message-ID') =~ $message_id;
                      };

DESCRIPTION
    This software will delete messages from a given folder if the test
    returns true.

  delete_message
      delete_message from     => 'folder_name',
                     with     => 'My::Delete::Package',
                     matching => sub { return_true_for_delete() };

    "from" is a required parameter, a string containing the folder name to
    delete from. By default "Email::FolderType" is used to determine what
    package to use when deleting a message. To override the default, specify
    the "with" parameter. Your package's "delete_message" function will be
    called with the same arguments that "delete_message" from Email::Delete
    is called with.

    "matching" is a required argument. Its value is a code reference. If the
    anonymouse subroutine returns a true value, the current message is
    deleted. Each message is passed to the "matching" test in turn. The
    first and only argument to "matching" is an "Email::Simple" object
    representing the message.

    If you should ever want to stop processing a mailbox, just call "die"
    from your code reference. A proper deleting package will not delete mail
    until all the messages have been scanned. So if you throw an exception,
    your mail will be preserved and scanning will be aborted.

SEE ALSO
    Email::Simple, Email::Folder, Email::LocalDelivery, perl.

AUTHOR
    Casey West, <casey@geeknest.com>.

COPYRIGHT
      Copyright (c) 2004 Casey West.  All rights reserved.
      This module is free software; you can redistribute it and/or modify it
      under the same terms as Perl itself.