Fix from Graham Barr: 1. If a database is not opened with O_CREAT and it does not contain all indexes then it will crash with cannot call method on undefined value because the DB_File tie will return undef. 2. Calling delete with parameters that will cause the access of a non-existant tuple was calling problmes as the method needs to return undef when it does not exist.