<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 &quot;rows&quot; 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 &quot;foreach&quot; of the sub<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</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>&nbsp;</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"'>&nbsp; row_1 =&gt; {value =&gt; 10, size =&gt; 1000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_2 =&gt; {value =&gt; 20, size =&gt; 2000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_3 =&gt; {value =&gt; 30, size =&gt; 3000},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_4 =&gt; {value =&gt; 40, size =&gt; 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>&nbsp;</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"'>&nbsp; row_1 =&gt; {line =&gt; 'one',&nbsp;&nbsp; level =&gt; 'High'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_2 =&gt; {line =&gt; 'two',&nbsp;&nbsp; level =&gt; 'Med'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_4 =&gt; {line =&gt; 'four',&nbsp; level =&gt; 'Low'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_5 =&gt; {line =&gt; 'five',&nbsp; level =&gt; 'Low'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_6 =&gt; {line =&gt; 'six',&nbsp;&nbsp; level =&gt; 'Med'},<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; row_7 =&gt; {line =&gt; 'seven', level =&gt; '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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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"'>&nbsp; my $master_href = shift;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; my $added_href&nbsp; = shift;<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; foreach my $key (sort keys %{$master_href}){<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; # Please, what comes here????<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; }<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>&nbsp;</o:p></p><p class=MsoPlainText><span style='font-family:"Courier New"'>__END__<o:p></o:p></span></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Dumper should output:<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</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"'>&nbsp; 'row_1' =&gt; {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'value' =&gt; 10,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'size' =&gt; 1000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'line' =&gt; 'one',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'level' =&gt; 'High',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; 'row_2' =&gt; {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'value' =&gt; 20,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'size' =&gt; 2000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'line' =&gt; 'two',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'level' =&gt; 'Med',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; 'row_3' =&gt; {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'value' =&gt; 30,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'size' =&gt; 3000,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; }<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp; 'row_4' =&gt; {<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'value' =&gt; 40,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'size' =&gt; 4000<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'line' =&gt; 'four',<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; 'level' =&gt; 'Low'&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>&nbsp;&nbsp;}<o:p></o:p></span></p><p class=MsoPlainText><span style='font-family:"Courier New"'>}<o:p></o:p></span></p></div></body></html>