in reply to Carping in DESTROY.

You should also be storing the object and not a reference to the object:
store \$self, DATA_FILE or warn "store error (%a): $!\n";

You should also always be in the habit of checking your results (hence the or warn "blah";).