|
sub find { my ($self, $keyval) = @_; return () unless defined $self->{records}->{$keyval}; # return a copy of the record return %{$self->{records}->{$keyval}}; } sub add { my ($self, %record) = @_; croak "Key field is missing" unless defined $record{$key}; $self->{records}->{$record{$key}} = \%record; $self->{changes}++; } sub delete { my ($self, $keyval) = @_; delete $self->{records}->{$keyval}; $self->{changes}++; } |
Wichtig ist, daß Schreiboperationen bei changes
notiert werden und bei Leseoperationen nur Kopien
ausgehändigt werden.
| |
Gegebenenfalls sind weitere Konsistenzüberprüfungen
und die Trennung von add und modify sinnvoll.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |