Anthony Heading wrote: > The "+" operator, defined using an anonymous sub, works perfectly. The > comparison operators work fine _until_ MyClass.pm is changed; but they > then give errors like "Not a CODE reference at <calling module line>".
Just a guess, maybe I am wrong: ------------------------------- overload.pm seems to handle anonymous subs and sub references different: package MyClass; use overload '""' => \&stringify; seems to be called as a reference to Blah::stringify while use overload '""' => sub { "blah" } seems to hold and call the sub ref in place. So maybe: --------- (1) MyClass is changed and therefore recompiled (2) Another handler uses MyClass but http://perl.apache.org/docs/2.0/api/Apache2/Reload.html#Problems_with_Scripts_Running_with_Registry_Handlers_that_Cache_the_Code (3) therefore MyClass::stringify reference points to a non-existing code location (Not a CODE reference at..) (4) The in place anonymous sub works but maybe with the old results as the sub is still 'in place' and can be called directly Again: only a guess ;-) -Thomas
smime.p7s
Description: S/MIME Cryptographic Signature