This is because DESTROY is implicitly called upon the destruction of the object, and because you've defined an AUTOLOAD method, that's trying to deal with it but failing since DESTROY hasn't been defined. If you add a dummy method the error will go away e.g