Supply a unique object identifier to every object
use DateTime; # for example use UNIVERSAL::Object::ID; my $date = DateTime->now; print $date->object_id;
Loading UNIVERSAL::Object::ID makes the \*(C`Object::ID\*(C' role available to every object.
Use at your own risk, polluting \s-1UNIVERSAL\s0 is not to be taken lightly. The best place to use this module is in your own personal or internal use code rather than a widely distributed software library. Or you can use Method::Lexical to safely apply the \s-1UNIVERSAL\s0 effect to just your lexical scope.
Object::ID, Method::Lexical