That's a poorly presented post that doesn't help us to help you:
-
It's incomplete: we can't run it!
-
The output you show could not possibly come from the code you show.
-
All you'd get would be exactly the same Dumper output (for the undeclared and unchanging $row_data)
repeated the same number of times as there are elements in @{ $test_data }.
-
The (wanted) output you present does not align at all with your stated objectives.
-
There are other problems that can be seen (e.g. = instead of eq).
-
There may well be other problems that can't be seen because you haven't posted all of the code.
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]]
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.