AFAIN this tactic was originally proposed by Damian Conway in his 2000 book &#39;Object Oriented Perl&#39;... the implementation is typically called &#39;inside-out objects&#39;.<br><br>These have been implemented in dozens of ways over the last few years, but perhaps the best explanation and description is the documentation that comes with Damian&#39;s own Class::Std... here: 
<a href="http://search.cpan.org/%7Edconway/Class-Std-v0.0.8/lib/Class/Std.pm">http://search.cpan.org/~dconway/Class-Std-v0.0.8/lib/Class/Std.pm</a><br><br><br>good luck,<br>Montgomery<br><br><br><br><div><span class="gmail_quote">
On 9/14/07, <b class="gmail_sendername">Tim McDaniel</b> &lt;<a href="mailto:tmcd@panix.com">tmcd@panix.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I dimly recall a presentation about &quot;inverted objects&quot; or some phrase<br>like that.&nbsp;&nbsp;The standard Perl procedure boils down to<br>&nbsp;&nbsp;&nbsp;&nbsp; my $obj = {};<br>&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;{foo} = 123;<br>&nbsp;&nbsp;&nbsp;&nbsp; $obj-&gt;{bar} = 456;<br>
<br>The technique was something like<br>&nbsp;&nbsp;&nbsp;&nbsp; my $obj = \0;&nbsp;&nbsp;# some way of generating a unique reference<br>&nbsp;&nbsp;&nbsp;&nbsp; $foo{$obj} = 123;<br>&nbsp;&nbsp;&nbsp;&nbsp; $bar{$obj} = 456;<br>This allows compile-time &quot;member&quot; checking and perhaps other
<br>advantages that I don&#39;t recall right now.<br><br>Who thought of this pattern (was it Schwartz?) and where can I read up<br>on it again?<br><br>--<br>Tim McDaniel, <a href="mailto:tmcd@panix.com">tmcd@panix.com</a>
<br>_______________________________________________<br>Austin mailing list<br><a href="mailto:Austin@pm.org">Austin@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/austin">http://mail.pm.org/mailman/listinfo/austin
</a><br></blockquote></div><br>