I'd suggest that in the general case you use a
Pixie::Array wrapper with an overloaded @{} operator. The overloaded @{} would return the host object's data; Pixie would know how to get its stuff out of a
Pixie::Array.
Or something like that. It's a pretty hard problem. *shrugs*
<thought type="evil">Could you set up an overloaded @{} in UNIVERSAL that would implement this behavior? That would solve the problem of Pixie::Array's blessing. Alternatively, Pixie::Arrays could keep track of their "real" blessing and redispatch:
package Pixie::Array;
sub PIXIE_getoid { return shift->{oid} }
# ...
sub AUTOLOAD { return shift->{realobj}->$AUTOLOAD(@_) }
</thought>
=cut
--Brent Dax
There is no sig.