in reply to Add value from one array element into another of same ID

That's a poorly presented post that doesn't help us to help you:

Please read "How do I post a question effectively?" and "Short, Self-Contained, Correct Example" before posting again.

Based on your prosaic description, I might have written code something like the following. Perhaps you can adapt that to your needs.

#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my @in_data = ( { ID => '1212', Name => 'JOE', REF => 1 }, { ID => '1212', Name => '', REF => 2 }, { ID => '4456', Name => 'MARIA', REF => 3 }, ); print "IN DATA:\n"; dd \@in_data; my %name_for_id; for (@in_data) { next if $_->{Name} eq ''; $name_for_id{$_->{ID}} = $_->{Name}; } my @out_data; for (@in_data) { $_->{Name} = $name_for_id{$_->{ID}} if $_->{Name} eq ''; push @out_data, [@{$_}{qw{ID Name REF}}]; } print "OUT DATA:\n"; dd \@out_data;

Output:

IN DATA: [ { ID => 1212, Name => "JOE", REF => 1 }, { ID => 1212, Name => "", REF => 2 }, { ID => 4456, Name => "MARIA", REF => 3 }, ] OUT DATA: [[1212, "JOE", 1], [1212, "JOE", 2], [4456, "MARIA", 3]]

— Ken