Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     06 May 2003  13:29:53
 To : Sergey Matveychuk
 Subject : Re: Удаление элемента хеша
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Sergey Matveychuk.
 
 SM> Скажите, что я делаю не так?
 SM> У меня есть хеш со ссылками на другой хеш, в котором так же могут быть
 SM> ссылки на хеш. Типа такого: $hash{par1}{par2}{par3}. Я хочу удалить
 SM> сразу всю ветку: delete $hash{par1}. 
 SM> Вроде все правильно, всю память должен освободить сборщик мусора? 
 
 SM> Hо вот в какой то ситуации ссылка в $hash{par1} остается.
 SM> Скажем такой код:
 SM> foreach my $k (keys %hash) {
 SM>   print "$k -> $hash{$k}{aaa}\n";
 SM> }
 
 SM> После delete может выдать предупреждение про неопределенное значение. 
 
 В ситуации, когда $hash{$k} не удалено, а равно undef или даже является хэшом,
 в котором нет ключа aaa. Что вполне реальная ситуация.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Удаление элемента хеша   Artem Chuprina   06 May 2003 13:29:53 
Архивное /ru.perl/11477a6ef333c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional