package Test; my @STRUCTURE = qw(name test); my $TABLENAME = "test"; my $KEY = "id"; *DBH = *main::DBH; . . sub DESTROY { my($impl) = @_; my $keyval = $impl->{$KEY}->{value}; my @list; my $time = time; push(@list,"timestamp='$time'"); foreach(@STRUCTURE){ my $val = $impl->{$_}->{value}; $val =~ s/'/\\'/g; push(@list,"$_='$val'"); } my $string = join ",",@list; $DBH->do(" UPDATE $TABLENAME SET $string WHERE $KEY=$keyval LIMIT 1 "); }