Как я эффективно освобождаю Perl файл DBM?

Я удалил все и создал новый репозиторий. Кажется, сейчас работает. Не знаю, в чем проблема, но, по крайней мере, она работает ..

7
задан brian d foy 13 October 2008 в 14:09
поделиться

3 ответа

Можно просто удалить файл:

unlink $file;

Так как Вашим третьим аргументом dbmopen является режим файла и нет undef, dbmopen воссоздаст файл в следующий раз, когда это называют:

dbmopen my %db, $file, 0666;
10
ответ дан 6 December 2019 в 08:17
поделиться

На самом деле коллега указал на меня на решение. Можно, по-видимому, сделать:

dbmopen (%db,"file.db",0666);
%db = ();
dbmclose (%db);

который убирает хеш прежде, чем закрыть базу данных.

6
ответ дан 6 December 2019 в 08:17
поделиться

Был другой ответ здесь, который исчез по некоторым причинам, все же это, вероятно, будет быстрее, таким образом, я повторно отправляю его (не уверенный, почему это было удалено). Это включает удаление связи с файлом для удаления его затем просто воссоздание пустого файла базы данных следующим образом:

unlink ("file.db");
dbmopen (%db,"file.db",0666);
dbmclose (%db);
6
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: