Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^2: performing calculation in cells in a file

by rvosa (Curate)
on Aug 22, 2007 at 15:30 UTC ( #634393=note: print w/replies, xml ) Need Help??

in reply to RE: performing calculation in cells in a file

Can you give some example of the actual file, e.g. copy a few lines and paste it here in a reply, enclosed in <code></code> tags. Is it a comma-separated file? A spreadsheet of some kind (as the earlier replier inferred)?

I think it's like this:
1/2/2007, 1, 4, 5, 6 1/3/2007, 2, 5, 7, 10 1/5/2007, 5, 6, 8, 11
And I think the logic is that the date of each line needs to be stripped, and the subsequent entries need to be "subtracted" or hyphen-separated from those in the same column of the previous line. Maybe something like this works:
my @previous; while(<>){ chomp; my @current = split /,/, $_; if ( not @previous ) { print join ',', @current[ 1 .. $#current ]; print "\n"; } else { for my $i ( 1 .. ( $#current - 1 ) ) { print $current[$i], '-', $previous[$i], ','; } print $current[-1], '-', $previous[-1], "\n"; @previous = @current; } }
Note: not tested the above, but something like this is what I would do.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://634393]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (13)
As of 2017-07-24 14:48 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (354 votes). Check out past polls.