|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477a6ef333c.html, оценка из 5, голосов 10
|