in reply to Re: Detecting assignment event for AUTOLOAD'd lvalue subs ?
in thread Detecting assignment event for AUTOLOAD'd lvalue subs ?
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.
|
|---|