my %result; for my $key (keys %pr1, keys %si1) { my @values; push @values, @{$pr1{$key}} if $pr1{$key}; push @values, @{$si1{$key}} if $si1{$key}; $result{$key} = join ', ', @values; }