Maybe the database is corrupted? Sometimes it helps to dump and reload the database file with db_dump and db_load. It might be a problem of the berkeley db library itself --- recently I was surprised that I cannot tie RECNO databases in O_RDONLY mode (berkeley db 4.0 on RedHat 8.0). In that case there was also no error message in $!.