Perl для системного администрирования

       

Удаление элементов



Удаление элементов

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

use Mozilla::LDAP::Conn;

П если у вас есть элемент, вы можете использовать

if $c->delete($entry->getDN()) $c->delete($dn) or

die "Невозможно удалить элемент: ". $c->getErrorString()."\n";

use Net::LOAP;

$res = $c->delete($dn);

die "Невозможно удалить, код ошибки #".

$res->code() if $res->code();

Важно обратить внимание на то, что в обоих модулях delete ()удаляет по одному элементу за один раз. Если необходимо убрать поддерево целиком, сначала следует найти все дочерние элементы этого поддерева, используя пространство sub или one, а затем обойти в цикле возвращаемые значения, удаляя элементы на каждой итерации. После того как уничтожены дочерние элементы, можно удалить вершину этого поддерева.



Содержание раздела