If the objects are "simple" then concatenate all the fields and run that through
Digest. Then cache the result. Be sure to concatenate hash values sorted by key if you intend to use the digests between instances of perl, since the hashing order changes per invocation.
If they have deep nested structures look at
Data::Structure::Util, or investinage
Object::Signature which uses
Storable under the hood, and returns a digest of the serialized data. Likewise, cache the result in an additional attribute of the object.