I've inherited a piece of code with a snippet which empties the database as follows:
dbmopen (%db,"file.db",0666);
foreach $key (keys %db) {
delete $db{$key};
}
dbmclose (%db);
This is usually okay but sometimes the database grows very large before this cleanup code is called and it's usually when a user wants to do something important.
Is there a better way of doing this?