sub DESTROY { $self = shift; # assume database handle is stored in blessed object if ($self->{dbh}) $self->{dbh}->rollback(); $self->{dbh}->disconnect() || croak $self->{dbh}->errstr; } }