in reply to usage of __PACKAGE__

what you need is tell perl that your key name is not __PACKAGE__.
$Cache::MaxSize{ +__PACKAGE__ } = 2000;
or
$Cache::MaxSize{ '' . __PACKAGE__ } = 2000;
Boris