Think about what you need to do:

  1. loop over the lines
  2. for each line extract the fields
  3. calculate the differences between the required fields
  4. print the result
  5. save the current line as the last line
  6. (you did skip for the first record didn't you?)
use warnings; use strict; my @last; my @current; while (<DATA>) { # For each line chomp; # Strip any trailing line end sequence @current = split; # extract the fields next if ! @last; # Skip for the first line my @diffs = map {$current[$_] - $last[$_]} 2 .. 5; # Calculate print "@current[0, 1, 2] @diffs\n"; # Print } continue { @last = @current; # Save current line as last } __DATA__ 02/02/2007 00:00:00 719267027 719244316 719233953 719240015 02/03/2007 00:00:00 720375777 720336674 720325633 720329849 02/04/2007 00:00:00 721640280 721640267 721522690 721552815 02/05/2007 00:00:00 722297206 722297203 722297203 722297206

Prints:

02/03/2007 00:00:00 720375777 1108750 1092358 1091680 1089834 02/04/2007 00:00:00 721640280 1264503 1303593 1197057 1222966 02/05/2007 00:00:00 722297206 656926 656936 774513 744391

You may care to take a look at the docs for split, map and 'Loop Control' in perlsyn.


DWIM is Perl's answer to Gödel

In reply to Re: processing columns of text by GrandFather
in thread processing columns of text by sitnalta

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.