Ho due hash, uno grande e uno piccolo. Tutte le chiavi di hash più piccole appaiono nell'hash più grande, ma i valori sono diversi. Voglio copiare i valori dall'hash più grande all'hash più piccolo.Copia di valori da un hash all'altro in perl
EG:
# I have two hashes like so
%big_hash = (A => '1', B => '2', C => '3', D => '4', E => '5');
%small_hash = (A => '0', B => '0', C => '0');
# I want small_hash to get the values of big_hash like this
%small_hash = (A => '1', B => '2', C => '3');
Una risposta ovvia sarebbe quella di collegare attraverso i tasti del piccolo hash, e copiare i valori come questo
foreach $key (keys %small_hash) { $small_hash{$key} = $big_hash{$key}; }
C'è un modo più breve per fare questo ?
Correggi il tuo codice: tabelle hash vanno con '()', solo riferimenti di tabella hash vanno con '{}'. – Lumi
Oops mi dispiace, risolto. –