I'd do something like this:

#!/usr/bin/perl -w use strict; my %data; my @missing; while (<DATA>) { chomp; my @line = split /,/; if ($line[1] eq '--') { # first half $data{$line[4]} = \@line; } else { # second half if (exists $data{$line[1]}) { print join ',', @{$data{$line[1]}}[4,5], @line[1,2]; print "\n"; delete $data{$line[1]}; } else { push @missing, \@line; } } } foreach (sort keys %data) { print join ',', @{$data{$_}}[4,5,0,1]; print "\n"; } foreach (@missing) { print join ',', @{$_}[3,4,1,2]; print "\n"; } __END__ --,--,--,--,1.280000e+2,9.930000e+0 --,--,--,--,1.920000e+2,9.950000e+0 --,--,--,--,2.560000e+2,1.013000e+1 --,--,--,--,2.000000e+0,4.370000e+0 --,--,--,--,4.000000e+0,5.300000e+0 --,--,--,--,8.000000e+0,6.590000e+0 --,--,--,--,1.600000e+1,7.830000e+0 --,--,--,--,2.400000e+1,8.710000e+0 --,--,--,--,3.200000e+1,9.160000e+0 --,--,--,--,6.400000e+1,9.510000e+0 --,2.000000e+0,6.500000e+0,--,--,-- --,2.000000e+0,6.450000e+0,--,--,-- --,4.000000e+0,6.650000e+0,--,--,-- --,4.000000e+0,6.570000e+0,--,--,-- --,8.000000e+0,6.550000e+0,--,--,-- --,8.000000e+0,6.600000e+0,--,--,-- --,1.600000e+1,6.570000e+0,--,--,-- --,1.600000e+1,6.570000e+0,--,--,-- --,2.400000e+1,6.650000e+0,--,--,-- --,2.400000e+1,6.680000e+0,--,--,-- --,2.400000e+1,6.640000e+0,--,--,-- --,3.200000e+1,6.720000e+0,--,--,--

Which seems to give the output you wanted.

--
<http://www.dave.org.uk>

"The first rule of Perl club is you do not talk about Perl club."
-- Chip Salzenberg


In reply to Re: Text Manipulation by davorg
in thread Text Manipulation by johnirl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.