I am experiencing a bug that I find difficult to explain.
(in cleanup) Not a reference to a Digest::MD5 object at /export/home/n
+arse/cvs/plord/lib/Games/LORD/Locations/Helper/Menu.pm line 422.
I have an object (Player.pm) that uses Digest::MD5 to encrypt passwords before they are stored in a database. This is the ONLY module that uses Digest::MD5. This non-fatal warning is triggered at some points where this object is passed around in a hash as a method parameter. Menu.pm, line 422 looks like this:
if ( not defined $input or $input eq "" )
{ return $hidden_actions{ DEFAULT } -> ( %args ) }
where %args contains the Digest::MD5 using Player object.
This bug is not exclusive to this location, it seems to occur at various points where similar parameter passing takes place. One notable point is:
delete $data -> {opponent};
where $data -> {opponent} is another such Player object. I do not believe the bug occurs until after this point. After this, all Player objects appear to be affected by this bug. $data -> {opponent} is never again used after this point so it is not a simple issue of undefined values.
Digest::MD5 has both an OOP and Exporter use and I have tried both with no change in operation. Is this a bug with Digest::MD5? Am I somehow breaking its namespace by using delete on my own bless object?