{
my $caller = caller ;
die unless $caller eq __PACKAGE__ ;
}
####
package MyClass ;
my @Registry ;
my $id = 0 ;
sub new {
my $class = shift ;
my $objID = $id++ ;
$Registry[$objID] =
{ some => 'attribute', goes => 'here' }
return bless \$objID,$class ;
}
####
sub some : lvalue {
my $self = shift ;
# Do checks if we are a private or protected method
# HERE!
return $Registry[$$self]{some} ;
}
####
package MyClass ;
use Class::Bronto ; # Sorry, can't find a meaningful name!
private 'scalar','priv' ;
protected 'array','prot' ;
public 'hash','pub' ;