- my $q = $self->obj->{$call};
- confess("$call is already removed") unless $q;
- dbg("LRU $self->[5] cache remove $call now $self->[4]/$self->[3]") if isdbg('lru');
- $q->obj(1);
- $q->SUPER::del;
+ my $p = $self->obj->{$call};
+ confess("$call is already removed") unless $p;
+ dbg("LRU $self->[NAME] cache remove $call now $self->[INUSE]/$self->[MAX]") if isdbg('lru');
+ &{$self->[CALLBACK]}($p->obj) if $self->[CALLBACK]; # call back if required
+ $p->obj(1);
+ $p->SUPER::del;