<div dir="ltr"><div dir="ltr">Виктор, Приветствую!</div><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr">чт, 29 нояб. 2018 г. в 08:04, Виктор Бочкарев via Moscow-pm <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>День добрый!</div><div> </div><div>По моему, эмуляция массива работает при обращении к хешу, а не к ссылке на хеш.</div><div> </div><div>Попробуй так delete @h{11}->@{qw(21 24)};</div><div></div></blockquote><div><br></div><div>Да, ну, нет конечно :)</div><div>это не работает in 1st,</div><div>in 2nd таким приемом вы предлагаете удалить все элементы принадлежащие</div><div>$a{11}{21} и $a{11}{24}</div><div>а требуется удалить только подэлементы {31}<br>i.e. $a{11}{21}{31} и $a{11}{24}{31}<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div> </div><div>28.11.2018, 22:05, "Alessandro Gorohovski via Moscow-pm" <<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a>>:</div><blockquote type="cite"><div><div><div><div>Приветствую Уважаемое Perl-сообщество,<div> </div><div>Возможно это покажется тривиальным/хорошо известным поведением</div><div>функции delete применительно к хешам, но оставлю на всякий случай.</div><div> </div><div>Итак имеется хеш %a:<br>print Dumper \%a;</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> </div><div>но удаления не происходит :(</div><div>а добавляется новый внутренний загадасный элемент:</div><div> </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> </div><div>Или например так:<br>delete $a{11}{keys %{$a{11} } }{31}</div><div> </div><div>Опять добавляется новый элемент.</div><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> </div><div>Как вы думаете в чём причина такого поведения delete</div><div>?</div><div> </div><div>С уважением,</div><div>Александр.</div><div> </div></div>,<span>--<br>Moscow.pm mailing list<br><a rel="noopener noreferrer" href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a rel="noopener noreferrer" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a></span></blockquote><div> </div><div> </div><div>-- <br>С уважением,</div><div>Виктор Бочкарев ( <a rel="noopener noreferrer" href="mailto:victor@bo4karev.ru" target="_blank">victor@bo4karev.ru</a> )</div><div>+7 (916) 925 64 99</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></div>