With proper formatting, your question would've been comprehensible:
Hi Monks, I am new to perl, so my question can be stupid question. I have file like this:
1 3 5 2 7 6 3 10 7I want to subtract 2nd column of each line from previous line's 2nd column. I want to have output like this:
1 3 5 2 4 6 3 3 4Any help will be appreciated.
To solve your problem, just store the current value at the end of
every iteration, so you still have it in the next iteration:
#!/usr/bin/perl use strict; use warnings; my $prev_2 = 0; while (<DATA>) { my ($c1, $c2, $c3) = split; printf "%3d %3d %3d\n", $c1, $c2-$prev_2, $c3; $prev_2 = $c2; } __DATA__ 1 3 5 2 7 6 3 10 7
Output:
1 3 5 2 4 6 3 3 7
(BTW, your desired output suggests that you want to subtract the previous value from the current one, not the other way round).
In reply to Re: subtracting two lines in file
by almut
in thread subtracting two lines in file
by frank19
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |