in reply to sum of integers in a column

Removed!

Sorry, I misread the question. :-(

OK, (after reading the question properly) here's another way to do it. :-)

#!perl use 5.12.0; use warnings; use List::Util qw{sum}; my @table = (); while (<DATA>) { push @table, [ split ]; } for my $col (0 .. $#{$table[0]}) { say qq{Column $col = }, sum map { $table[$_][$col] } (0 .. $#table +); } __DATA__ 1 2 3 4 5 6 1 2 3 4 5 6

Output:

$ column_sum.pl Column 0 = 2 Column 1 = 4 Column 2 = 6 Column 3 = 8 Column 4 = 10 Column 5 = 12

Update: My apologies if anyone noticed this kept changing and wondered what the hell was going on. My main intent was just to highlight the sum function in List::Util.

-- Ken

Replies are listed 'Best First'.
Re^2: sum of integers in a column
by kcott (Archbishop) on Oct 12, 2010 at 23:53 UTC

    It has been pointed out to me that I should have used <strike> instead of simply deleting the code I originally posted.

    My original solution calculated the sum of the column items in each row rather than the sum of each column. The comment was that even though this didn't answer the OP's question it was nonetheless interesting code that others might like to see.

    So, rather than doing any more (possibly confusing) updates to my last post, I've posted my original offering separately here.

    #!perl use 5.12.0; use warnings; use List::Util qw{sum}; my $total = 0; while (<DATA>) { $total += sum split; } say $total; __DATA__ 1 2 3 4 5 6 1 2 3 4 5 6

    Outputs:

    $ row_sum.pl 42

    Enjoy!

    -- Ken