* Orton, Yves <[EMAIL PROTECTED]> [2003-11-03 17:34]:
> in hind site implementing an inside out object/attribute is so
> easy (its pretty small, heres what I use for good general
> coverage:)
> 
>   use Scalar::Util qw(refaddr);
> 
>   {  
>    my %attrib;
>    sub inside_out {
>       my $s=shift;
>       if (@_) {
>           $attrib{refaddr($s)}=shift;
>           return $s;
>       } else {
>           return $attrib{refaddr($s)};
>       }
>    }
>   }
> 
> The refaddr is useful because it allows for $s to have
> stringification overloaded.

Precisely this bugs me about it.. you have to type out the
refaddr everywhere; and even without overloading, there's good
reasons not to just write $self (but stuff like 0+$self or
whatever).

And then there's accessor/mutator generation.. ie what
::MethodMaker does. Which there seems to be no easy way to do
(with lexicals) using inside out objects..

-- 
Regards,
Aristotle
 
"If you can't laugh at yourself, you don't take life seriously enough."

Reply via email to