<div dir="ltr">foreach my $key ( keys %added ) {<br> $master{$key}{$_} = $added{$key}{$_} for keys %{$added{$key}};<br>}<br><br>:)<br><br><div class="gmail_quote">On Mon, Oct 29, 2012 at 8:08 PM, Meir Guttman <span dir="ltr"><<a href="mailto:meir@guttman.co.il" target="_blank">meir@guttman.co.il</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="EN-US"><div><p>Dear Perlers,<u></u><u></u></p><p>For the last two hours, my head is spinning, but I cannot find how to do the following:<u></u><u></u></p>
<p>I have two hashes, both 2D, the %master and another one from which I want to copy values to the master.<u></u><u></u></p><p>The end result should have the same "rows" as in the original master, but with the the tuples of the second hash added to the inner hash of these rows.<u></u><u></u></p>
<p>I need to do this in a subroutine, so what I have are two hash-references.<u></u><u></u></p><p>I am assuming that the general structure should be like the following. What I am missing is the innermost assignment in the "foreach" of the sub<u></u><u></u></p>
<p><u></u> <u></u></p><p><span style="font-family:"Courier New"">use strict;<u></u><u></u></span></p><p><span style="font-family:"Courier New"">use warnings;<u></u><u></u></span></p><p><span style="font-family:"Courier New"">use use Data::Dumper;<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""><u></u> <u></u></span></p><p><span style="font-family:"Courier New"">my %master = (<u></u><u></u></span></p><p><span style="font-family:"Courier New""> row_1 => {value => 10, size => 1000},<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> row_2 => {value => 20, size => 2000},<u></u><u></u></span></p><p><span style="font-family:"Courier New""> row_3 => {value => 30, size => 3000},<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> row_4 => {value => 40, size => 4000},<u></u><u></u></span></p><p><span style="font-family:"Courier New"">);<u></u><u></u></span></p><p><span style="font-family:"Courier New""><u></u> <u></u></span></p>
<p><span style="font-family:"Courier New"">my %added = (<u></u><u></u></span></p><p><span style="font-family:"Courier New""> row_1 => {line => 'one', level => 'High'},<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> row_2 => {line => 'two', level => 'Med'},<u></u><u></u></span></p><p><span style="font-family:"Courier New""> row_4 => {line => 'four', level => 'Low'},<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> row_5 => {line => 'five', level => 'Low'},<u></u><u></u></span></p><p><span style="font-family:"Courier New""> row_6 => {line => 'six', level => 'Med'},<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> row_7 => {line => 'seven', level => 'High'},<u></u><u></u></span></p><p><span style="font-family:"Courier New"">);<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""><u></u> <u></u></span></p><p><span style="font-family:"Courier New"">combine_values(\%master, \%added);<u></u><u></u></span></p><p><span style="font-family:"Courier New""><u></u> <u></u></span></p>
<p><span style="font-family:"Courier New"">Dump (\%master);<u></u><u></u></span></p><p><span style="font-family:"Courier New""><u></u> <u></u></span></p><p><span style="font-family:"Courier New"">Exit(0);<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""><u></u> <u></u></span></p><p><span style="font-family:"Courier New"">sub combine_values {<u></u><u></u></span></p><p><span style="font-family:"Courier New""> my $master_href = shift;<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> my $added_href = shift;<u></u><u></u></span></p><p><span style="font-family:"Courier New""><u></u> <u></u></span></p><p><span style="font-family:"Courier New""> foreach my $key (sort keys %{$master_href}){<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> # Please, what comes here????<u></u><u></u></span></p><p><span style="font-family:"Courier New""> }<u></u><u></u></span></p><p><span style="font-family:"Courier New"">}<u></u><u></u></span></p>
<p><u></u> <u></u></p><p><span style="font-family:"Courier New"">__END__<u></u><u></u></span></p><p><u></u> <u></u></p><p>Dumper should output:<u></u><u></u></p><p><u></u> <u></u></p><p><span style="font-family:"Courier New"">$VAR1 = {<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'row_1' => {<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'value' => 10,<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'size' => 1000,<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'line' => 'one',<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'level' => 'High',<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> }<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'row_2' => {<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'value' => 20,<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'size' => 2000,<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'line' => 'two',<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'level' => 'Med',<u></u><u></u></span></p><p><span style="font-family:"Courier New""> }<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'row_3' => {<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'value' => 30,<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'size' => 3000,<u></u><u></u></span></p><p><span style="font-family:"Courier New""> }<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'row_4' => {<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'value' => 40,<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'size' => 4000<u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> 'line' => 'four',<u></u><u></u></span></p><p><span style="font-family:"Courier New""> 'level' => 'Low' <u></u><u></u></span></p>
<p><span style="font-family:"Courier New""> }<u></u><u></u></span></p><p><span style="font-family:"Courier New"">}<u></u><u></u></span></p></div></div><br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br></div>