/usr/share/perl5/Mail/Box/Tie/ARRAY.pm is in libmail-box-perl 2.110-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | # Copyrights 2001-2014 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.01.
use strict;
package Mail::Box::Tie::ARRAY;
use vars '$VERSION';
$VERSION = '2.110';
use Carp;
sub TIEARRAY(@)
{ my ($class, $folder) = @_;
croak "No folder specified to tie to."
unless ref $folder && $folder->isa('Mail::Box');
bless { MBT_folder => $folder }, $class;
}
#-------------------------------------------
sub FETCH($)
{ my ($self, $index) = @_;
my $msg = $self->{MBT_folder}->message($index);
$msg->isDeleted ? undef : $msg;
}
#-------------------------------------------
sub STORE($$)
{ my ($self, $index, $msg) = @_;
my $folder = $self->{MBT_folder};
croak "Cannot simply replace messages in a folder: use delete old, then push new."
unless $index == $folder->messages;
$folder->addMessages($msg);
$msg;
}
#-------------------------------------------
sub FETCHSIZE() { scalar shift->{MBT_folder}->messages }
#-------------------------------------------
sub PUSH(@)
{ my $folder = shift->{MBT_folder};
$folder->addMessages(@_);
scalar $folder->messages;
}
#-------------------------------------------
sub DELETE($) { shift->{MBT_folder}->message(shift)->delete }
#-------------------------------------------
sub STORESIZE($)
{ my $folder = shift->{MBT_folder};
my $length = shift;
$folder->message($_) foreach $length..$folder->messages;
$length;
}
# DESTROY is implemented in Mail::Box
#-------------------------------------------
1;
|