This isn't really a question, more like a comment and an "Anyone else noticed this?" I'm hoping that someone will be able to confirm and/or comment.
After a fair bit of grinding through log files recently, I discovered that one of my scripts was quietly dying because I'd used the right method on the wrong object. So after thinking about Schwern's rant about AUTOLOAD from YAPC 19100's Lightning Talks, I tried the following code:
sub AUTOLOAD { our $AUTOLOAD; return if ( $AUTOLOAD =~ /DESTROY$/ ); # No problem with that. $logger->warn("Tried to call $AUTOLOAD."); }
The objective was that if anything called the right method on the wrong object, AUTOLOAD would catch it. Note that I don't do anything rash if the method ends in DESTROY, but the current development push is over, I'm going to change 'warn' to 'die' and really stress test the system to see if I can find out what causes these quiet deaths.
I'd be interested in hearing if anyone else has noticed this or tried it.
Alex / talexb / Toronto
Life is short: get busy!
In reply to How many ways are there to use AUTOLOAD? by talexb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |