<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoPlainText>Dear Perlers,<o:p></o:p></p><p class=MsoPlainText>For the last two hours, my head is spinning, but I cannot find how to do the following:<o:p></o:p></p><p class=MsoPlainText>I have two hashes, both 2D, the %master and another one from which I want to copy values to the master.<o:p></o:p></p><p class=MsoPlainText>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.<o:p></o:p></p><p class=MsoPlainText>I need to do this in a subroutine, so what I have are two hash-references.<o:p></o:p></p><p class=MsoPlainText>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<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='font-family:"Courier New"'>use strict;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>use warnings;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>use use Data::Dumper;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>my %master = (<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_1 => {value => 10, size => 1000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_2 => {value => 20, size => 2000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_3 => {value => 30, size => 3000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_4 => {value => 40, size => 4000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>);<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>my %added = (<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_1 => {line => 'one', level => 'High'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_2 => {line => 'two', level => 'Med'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_4 => {line => 'four', level => 'Low'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_5 => {line => 'five', level => 'Low'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_6 => {line => 'six', level => 'Med'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> row_7 => {line => 'seven', level => 'High'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>);<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>combine_values(\%master, \%added);<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>Dump (\%master);<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>Exit(0);<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>sub combine_values {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> my $master_href = shift;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> my $added_href = shift;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> foreach my $key (sort keys %{$master_href}){<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> # Please, what comes here????<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='font-family:"Courier New"'>__END__<o:p></o:p></span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Dumper should output:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span style='font-family:"Courier New"'>$VAR1 = {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'row_1' => {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'value' => 10,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'size' => 1000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'line' => 'one',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'level' => 'High',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'row_2' => {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'value' => 20,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'size' => 2000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'line' => 'two',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'level' => 'Med',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'row_3' => {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'value' => 30,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'size' => 3000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'row_4' => {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'value' => 40,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'size' => 4000<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'line' => 'four',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> 'level' => 'Low' <o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>}<o:p></o:p></span></p></div></body></html>