Perl :Как вставить пару ключ/значение в хеш-ссылку и при этом сохранить ссылку

$a = {b=>{c=>1}};   # set up ref
$b = $a->{b};       # ref the ref
$b.= (d=>1,e=>1);  # where we want to assign multiple key/val at once

В конце $aдолжно выглядеть как:

  • {
      'b' => {
               'c' => 1,
               'd' => 1,
               'e' => 1
             }
    };
    

В конце $bдолжно выглядеть как:

  • {
      'c' => 1,
      'd' => 1,
      'e' => 1
    }
    

Примечание:это было бы то же самое, что сделать:

$b->{d} = 1;
$b->{e} = 1;

$b = { %$b, d=>1, e=>1 };Нежелателен, поскольку создает копию $aи теряет ссылку.

6
задан Charles 10 August 2012 в 02:50
поделиться