/usr/share/perl5/Cache/RemovalStrategy/FIFO.pm is in libcache-perl 2.09-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 | =head1 NAME
Cache::RemovalStrategy::FIFO - FIFO Removal Strategy for a Cache
=head1 DESCRIPTION
Implements a First In First Out removal strategy for a Cache. When removing
entries from the cache, the 'oldest' will be removed first.
=head1 METHODS
See Cache::RemovalStrategy for details.
=cut
package Cache::RemovalStrategy::FIFO;
require 5.006;
use strict;
use warnings;
use base qw(Cache::RemovalStrategy);
use fields qw();
sub new {
my Cache::RemovalStrategy::FIFO $self = shift;
$self = fields::new($self) unless ref $self;
$self->SUPER::new(@_);
return $self;
}
sub remove_size {
my Cache::RemovalStrategy::FIFO $self = shift;
my ($cache, $size) = @_;
while ($size > 0) {
my $removed = $cache->remove_oldest();
defined $removed or last;
$size -= $removed;
}
}
1;
__END__
=head1 SEE ALSO
Cache
=head1 AUTHOR
Chris Leishman <chris@leishman.org>
Based on work by DeWitt Clinton <dewitt@unto.net>
=head1 COPYRIGHT
Copyright (C) 2003-2006 Chris Leishman. All Rights Reserved.
This module is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
either expressed or implied. This program is free software; you can
redistribute or modify it under the same terms as Perl itself.
$Id: FIFO.pm,v 1.4 2006/01/31 15:23:58 caleishm Exp $
=cut
|