dbmopen (%db,"file.db",0666); foreach $key (keys %db) { delete $db{$key}; } dbmclose (%db);
这通常是可以的,但有时数据库在调用此清理代码之前会变得非常大,而且通常是在用户想要执行重要操作时.
有更好的方法吗?
unlink $file;
由于您的第三个参数dbmopen是文件模式而不是undef,dbmopen将在下次调用时重新创建该文件:
dbmopen my %db,$file,0666;