Aber jetzt sind die Daten einer Instanz vor Manipulationen durch eine andere Instanz geschützt.
Das lag nur an dem unnötigen %dummy Hash, ohne geht es auch:
sub new {
my $proto = shift;
my $p = shift || 'x_';
no strict 'refs';
foreach my $func (qw(a b c)) {
*{"${proto}::$p$func"} = sub {
my $self = shift;
$self->{$func} = $_[0] if @_;
return $self->{$func};
};
}
return bless {}, $proto;
}
Struppi.