in reply to Merge Purge
So basically, read the line and use the value found on the previous (last) line if one was not found on this line. Only works if the first line contains no blank values. (and you only had six pipes on the third line - i added a seventh to my example.)use strict; my (@line,@last); while (<DATA>) { @line = split('\|',$_,8); @last = map { $line[$_] || $last[$_] } (0..$#line); print join('|',@last); } __DATA__ 1|krazken|123 Main|BFE|AR|72210|555-2345|1 2|kraken||||||1 3|krayken|||||555-2345|1
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
|---|