<div><div dir="auto">Тут дело не в delete</div></div><div dir="auto"><br></div><div dir="auto"><div><a href="https://perldoc.perl.org/perldata.html#Multi-dimensional-array-emulation">https://perldoc.perl.org/perldata.html#Multi-dimensional-array-emulation</a></div><br></div><div dir="auto"><div><a href="https://perldoc.perl.org/perlvar.html#%24%3b">https://perldoc.perl.org/perlvar.html#%24%3b</a></div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, 28 Nov 2018 at 22:05, Alessandro Gorohovski via Moscow-pm <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Приветствую Уважаемое Perl-сообщество,<div><br></div><div>Возможно это покажется тривиальным/хорошо известным поведением</div><div>функции delete применительно к хешам, но оставлю на всякий случай.</div><div><br></div><div>Итак имеется хеш %a:<br>print Dumper \%a;</div><div><div>$VAR1 = {</div><div> '11' => {</div><div> '24' => {</div><div> '31' => 41</div><div> },</div><div> '23' => {</div><div> '33' => 43</div><div> },</div><div> '22' => {</div><div> '32' => 42</div><div> },</div><div> '21' => {</div><div> '31' => 41</div><div> }</div><div> }</div><div> };</div>из которого надо удалить, к примеру несколько внутренних элементов,</div><div>например: $a{11}{21}{31} и $a{11}{24}{31}</div><div>Выполняем :</div><div> delete $a{11}{21,24}{31}</div><div><br></div><div>но удаления не происходит :(</div><div>а добавляется новый внутренний загадасный элемент:</div><div><div><br></div><div>print Dumper \%a;</div><div>$VAR1 = {</div><div> '11' => {</div><div> '23' => {</div><div> '33' => 43</div><div> },</div><div> '22' => {</div><div> '32' => 42</div><div> },</div><div> '21' => {</div><div> '31' => 41</div><div> },</div><div> '24' => {</div><div> '31' => 41</div><div> },</div><div> '21 24' => {}</div><div> }</div><div> };</div></div><div><br></div><div>Или например так:<br>delete $a{11}{keys %{$a{11} } }{31}<br></div><div><br></div><div>Опять добавляется новый элемент.</div><div><br></div><div><div>print Dumper \%a;</div><div>$VAR1 = {</div><div> '11' => {</div><div> '5' => {},</div><div> '21' => {</div><div> '31' => 41</div><div> },</div><div> '23' => {</div><div> '33' => 43</div><div> },</div><div> '22' => {</div><div> '32' => 42</div><div> },</div><div> '21 24' => {},</div><div> '24' => {</div><div> '31' => 41</div><div> }</div><div> }</div><div> };</div></div><div><br></div><div>Как вы думаете в чём причина такого поведения delete</div><div>?</div><div><br></div><div>С уважением,</div><div>Александр.</div></div></div></div></div></div></div></div></div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div></div></div></div></div></div></div></div></div>
-- <br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
</blockquote></div></div>