in reply to Re: Detecting assignment event for AUTOLOAD'd lvalue subs ?
in thread Detecting assignment event for AUTOLOAD'd lvalue subs ?

Let me start by saying I don't buy the inside-out thing, so I'd be disinclined to use Class::Std in the first place. (not a knock on Mssr. Conway, I'm heavy user of his excellent Text::Balanced module)

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.

  • Comment on Re^2: Detecting assignment event for AUTOLOAD'd lvalue subs ?