in reply to Re^5: Cutting text from the end of the file and adding it to the top
in thread Cutting text from the end of the file and adding it to the top

Hi, Sorry for the confusion, the file is a CSV file and every entry has a comma after it as a delimiter. (the format was not finalized but now it is CSV). So the output should be the following, spaces are not needed in the output file, it only needs to be comma separated. Also I have added the numbers 999, 9999 to the input so as to make each row in the output complete.
a, b, c, d, aa, 12, 33, 102, bb, 111, 223, 24, aa, 88, 56, 99, bb, 130, 21, 45, aa, 88, 90, 212, bb, 500, 999, 9999
Also I need to print it back to the same file. Do I add the file pointer after the print statement below to print it back to the same file?
for my $record (@index){ print DATA join(",\t", $record, @values[(scalar(@headings) * $row) + .. ( +(scalar(@headings) * $row) + $#headings -1)]),"\n"; $row++;

Replies are listed 'Best First'.
Re^7: Cutting text from the end of the file and adding it to the top
by AnomalousMonk (Archbishop) on Oct 01, 2019 at 06:10 UTC

        a,       b,    c,   d,
    There seem to be four column labels, but
    aa,     12,     33,     102,
    each row now has three data fields. Also, CSV records don't usually end in a separator (comma) field.

    I'm assuming this is all some kind of elaborate troll, but I really can't see the entertainment value.


    Give a man a fish:  <%-{-{-{-<

      Sorry for that, it was a typo. The number of columns will match the data. So it should be like this:
      a, b, c, d aa, 12, 33, 102, 111 bb, 223, 24, 88, 56 aa, 99, 130, 21, 45 bb, 88, 90, 212, 500