On Sat, Nov 22, 2008 at 10:28 AM, ben perl <[EMAIL PROTECTED]> wrote:
> Is there a perl module to find cumulative in a column? It should subtract
> from the previous row and creates new column.
>
> For example, If i have the follow column in my file
>
> 2
> 6
> 9
>
> It gives me
>
> 2
> 6-2 = 4
> 9-4 = 2
>
> So the resulting column is
>
> 2
> 4
> 2
>
> Hope I am using cumulative as the right word to explain this.
>
> I could write my own script but did not want to reinvent the wheel.
>
It looks like what you want is a running total with subtraction.
Perl doesn't have any internal sens of "rows" and "columns," but it
does have a number of operators and function to iterate over lists and
arrays.
Assuming the the result you want is really "2,4,5" (9-4 is 5, not 2)
just use map():
my $cur = 0;
my @running = map { $cur = $_ - $cur } (2,6,9);
HTH,
-- jay
--------------------------------------------------
This email and attachment(s): [ ] blogable; [ x ] ask first; [ ]
private and confidential
daggerquill [at] gmail [dot] com
http://www.tuaw.com http://www.downloadsquad.com http://www.engatiki.org
values of β will give rise to dom!