Mail::Box::Tie - access an existing message-folder as an array or hash


As an array:

 use Mail::Box::Tie;
 tie my(@inbox), Mail::Box::Tie::ARRAY => $folder;
 tie my(@inbox), Mail::Box::Tie => $folder;    # deprecated
 print $inbox[3];

or as hash:

 tie my(%inbox), Mail::Box::Tie::HASH => $folder;
 tie my(%inbox), Mail::Box::Tie => $folder;    # deprecated
 print $inbox{'<>'};


The use of Mail::Box::Tie is deprecated, because it is succeeded by two separate modules: Mail::Box::Tie::ARRAY and Mail::Box::Tie::HASH. However, this module still works.

Folders certainly look like an array of messages, so why not just access them as one? Or, the order is not important, but the message-ids are (give relations): why not access them from a hash based on this message-id? Programs using one of these ties will look simpler than programs using the more traditional method calls.



This module is part of Mail-Box distribution version 3.009, built on August 18, 2020. Website:


Copyrights 2001-2020 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See