Package Tie::Hash::SaveConfig; use strict; use vars qw(@ISA); @ISA = qw(Tie::StdHash); sub TIEHASH { my $class = shift; my %hash; bless \%hash,$class; } sub STORE { my ($self,$key,$value) = @_; $self->SaveConfig($key,$value,$self->{$key}); $self->{$key} = $value; #Redefine value return $value; } sub DELETE { my ($self,$key) = @_; $self->SaveConfig($key,$self->{$key}); return $self->{$key}; } sub SaveConfig { my $self = shift @_; #Do something here } } 1; __END__