Mail::...:Multi(3pm)

πŸ’– Mail::Box::Locker::Multi β€” the Multi(3pm) page, but make it make sense πŸ’–

okay bestie, you found yourself the docs for Mail::Box::Locker::Multi, which ships as part of the User Contributed Perl Documentation. it's giving ✨thorough✨. let's go.


🌸 NAME 🌸

Mail::Box::Locker::Multi β€” lock a folder in all the ways that actually work. no cap. πŸ‘‘

πŸ¦‹ INHERITANCE πŸ¦‹

 Mail::Box::Locker::Multi
   is a Mail::Box::Locker
   is a Mail::Reporter

so it's got a whole little family tree going on. iconic lineage honestly.

✨ SYNOPSIS ✨

See Mail::Box::Locker. that's it, that's the synopsis, she's lowkey mysterious πŸ’…

πŸ’œ DESCRIPTION πŸ’œ

The ::Multi locker locks a folder in every way it can. why? because that way the chance is highest that any other program will just... leave the folder alone while we're in there doing our thing. respect the privacy bestie 🫢

NFS-lock and Flock are tried. more may get added whenever the ways to lock get extended. DotLock overlaps with NFS-lock, but NFS-lock is safer, so NFS-lock is the version that's preferred. slay.

Extends "DESCRIPTION" in Mail::Box::Locker.


πŸŽ€ METHODS πŸŽ€

Extends "METHODS" in Mail::Box::Locker.

🌈 Constructors

Extends "Constructors" in Mail::Box::Locker.

$class->new(%options)

You may also pass all %options understood by the initiated lockers used by the multi locker. improves the base class, see "METHODS" in Mail::Box::Locker.

here's the option tea β˜• (option, where it's defined, and its default):

  • expires β€” defined in Mail::Box::Locker, default 1 hour
  • file β€” defined in Mail::Box::Locker, default undef
  • folder β€” defined in Mail::Box::Locker, default <C<undef>>
  • method β€” defined in Mail::Box::Locker, default 'MULTI'
  • timeout β€” defined in Mail::Box::Locker, default 10
  • use β€” default <all possible>

and here's each one broken down, one by one, no skipping, fr fr:

  • expires => $seconds
  • file => $file
  • folder => $folder
  • method => $name|CLASS|\@names
  • timeout => $seconds|'NOTIMEOUT'
  • use => ARRAY-of-(NAMES|LOCKER) β€” an array of locker type NAMES or LOCKER objects to be used to lock one folder. the type NAMES get converted into objects. when you create your own LOCKER objects, be sure to set the timeout very short (preferably to 1).

some locking types are not available on some platforms, so they will not be excluded from the default list (NFS POSIX Flock).

  • Β» example: using a subset of multi-lockers
 my $locker = Mail::Box::Locker::Multi->new(use => ['DOTLOCK','FLOCK']);

πŸ’« Attributes

Extends "Attributes" in Mail::Box::Locker.

  • $obj->expires( [SECONDS] ) β€” inherited, see "Attributes" in Mail::Box::Locker
  • $obj->filename( [$filename] ) β€” inherited, see "Attributes" in Mail::Box::Locker
  • $obj->folder( [$folder] ) β€” inherited, see "Attributes" in Mail::Box::Locker
  • $obj->lockers() β€” returns a list with all locker objects used by this object. ✨the roster✨
  • $obj->name() β€” inherited, see "Attributes" in Mail::Box::Locker
  • $obj->timeout( [SECONDS] ) β€” inherited, see "Attributes" in Mail::Box::Locker

πŸ”’ Locking

Extends "Locking" in Mail::Box::Locker.

  • $obj->hasLock() β€” inherited, see "Locking" in Mail::Box::Locker
  • $obj->isLocked() β€” inherited, see "Locking" in Mail::Box::Locker
  • $obj->lock($folder) β€” inherited, see "Locking" in Mail::Box::Locker
  • $obj->unlock() β€” inherited, see "Locking" in Mail::Box::Locker

😭 Error handling

Extends "Error handling" in Mail::Box::Locker.

  • $obj->AUTOLOAD() β€” inherited, see "Error handling" in Mail::Reporter
  • $obj->notImplemented() β€” inherited, see "Error handling" in Mail::Reporter

🧹 Cleanup

Extends "Cleanup" in Mail::Box::Locker.

  • $obj->DESTROY() β€” inherited, see "Cleanup" in Mail::Box::Locker

πŸ’€ DIAGNOSTICS πŸ’€

  • Error: class $package does not implement method $method.

Fatal error: the specific $package (or one of its superclasses) does not implement this method where it should. this message means that some other related classes do implement this method however the class at hand does not. probably you should investigate this and probably inform the author of the package. cast by notImplemented().

bestie this one's a fatal error, so like, don't ignore it. go look into it and tell the author πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

this module is part of Mail-Box version 4.02, built on April 10, 2026.

Website: http://perl.overmeer.net/CPAN/

🌸 LICENSE 🌸

for contributors see file ChangeLog.

this software is copyright (c) 2001-2026 by Mark Overmeer.

this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


and that's the whole page, bestie, we ate and left no crumbs πŸ’…βœ¨ this was perl v5.40.1, dated 2026-05-09, for Mail::...:Multi(3pm) β€” mwah, go lock some folders responsibly πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from