Arch
view release on metacpan or search on metacpan
perllib/Arch/SharedIndex.pm view on Meta::CPAN
$self->_do_delete($index_list, \@keys);
});
return wantarray? @keys: \@keys;
}
sub update ($$;$) {
my $self = shift;
my $code = shift;
my $grep_code = shift;
die "No code or value given" unless defined $code;
my $entries_updated;
$self->query_index_list(sub ($) {
my $index_list = shift;
$entries_updated = $self->_do_store($index_list, [
map { $_->[0] => ref($code) ne 'CODE'? $code:
&$code($_->[0], $self->fetch_value(@$_)) }
grep { $grep_code? &$grep_code(
$_->[0], $self->fetch_value(@$_)): 1 }
@$index_list
]);
});
return $entries_updated;
}
sub query_index_list ($$) {
my $self = shift;
my $code = shift;
my $file = $self->{file};
if (!-f $file && $self->{can_create}) {
open FH, ">$file" or die "Can't create index file ($file)\n";
close FH;
( run in 0.337 second using v1.01-cache-2.11-cpan-05444aca049 )