That being said, Thread::Apartment's use of AUTOLOAD is very focused: its simply a way for client proxies to handle any method an invokant might call, without forcing the proxied object to explicitly install every exported method into the proxy. I had originally considered the latter approach, but soon realized that for some legacy modules (e.g, Perl/Tk), it might be nearly impossible to enumerate all the methods. Note that Thread::Apartment does permit the proxied object to explicitly declare its exported methods to the proxy, but also permits a "wildcard" to permit arbitrary method calls, which can be rejected by the proxied object as needed.
I'd also argue that AUTOLOAD has proven useful to simplify mapping to Web services (see Net::eBay).
However, using AUTOLOAD in an inheritance hierarchy is probably asking for trouble.
In reply to Re^2: Detecting assignment event for AUTOLOAD'd lvalue subs ?
by renodino
in thread Detecting assignment event for AUTOLOAD'd lvalue subs ?
by renodino
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |