TGR|10 GROUP|www.10group.co.uk#http://www.10group.co.uk#|0121 333 5464|johnj beck|info@10group.co.uk| SVG|7 GROUP|www.7group.com|0121 233 1122|tim rice|tim@7.com| #### TGR|10 GROUP|10 GROUP PLC|GB|54|0.40|0.045|200000|GBX| SVG|7 GROUP|7 GROUP PLC ORD|GB|63|1.00|0.35|0.550|5000|GBX| #### ### do original data open(COMPANIES, "+< ./data1") or die "can't open file: $!"; $co = 0; while () { $contents[$co] = $_; $co++; } foreach $record (@contents) { @fields = split(/\|/,$record); $tidm=$fields[0]; etc... $lse{$tidm}++; } close(COMPANIES); ### do data to be merged open(INFO, "+< ./info.csv") or die "can't open file: $!"; $co2 = 0; while () { $contents2[$co2] = $_; $co2++; } foreach $record2 (@contents2) { @fields2 = split(/\|/,$record2); $tidm_inf=$fields2[0]; etc... $merge{$tidm_inf}="$record2"; } close(INFO); ### print merged foreach my $k (sort keys %lse) { print "$merge{$k}\n"; }