The question isn't quite clear as to the desired outcome. I'll read it as: you want to turn two one-element arrays, each of whose element is a hashref, into one one-element array, whose element is a hashref of the combined hashes. That seems a little weird.
But here's one idea:
@aoh2 = ({map { %$_ } (@aoh1, @aoh2)});
It does the same thing with multiples; e.g., if one of the arrays has multiple hashrefs in it, it still gets rolled up into one output:
@aoh1 = ({ 'key1' => 'value1',
'key2' => 'value2' });
@aoh2 = ({ 'key3' => 'value3',
'key4' => 'value4' },
{ 'key5' => 'value5',
'key6' => 'value6' });
@aoh2 = ({map { %$_ } (@aoh1, @aoh2)});
Output:
@aoh2 = (
{
'key5' => 'value5',
'key2' => 'value2',
'key6' => 'value6',
'key4' => 'value4',
'key1' => 'value1',
'key3' => 'value3'
}
);