Without a peice of code which exhibits the issue, it is hard to say what exactly is causing it. However, I can tell you that this error:
Can't make anonymous subroutine cumulative at <blah>
is coming from inside
Class::Std (the &_find_sub routine to be exact) and is called from the &initialize method, which is called within the perl compiler's CHECK phase. Most of what it is doing here is building restricted (aka - protected), private, cummulative and anticumulative methods. From the code you show above, I see nothing related to these things, and I suspect it is being caused by some other bit of code.