in reply to Re^4: Array question
in thread Array question

It occurred to me on the walk to work this morning that the sort problem can be fixed by introducing a sort key:

# @data as used previously my %sums; my $sortKey; for my $datum (map {[++$sortKey, "$_->[0],$_->[1]", @$_]} @data) { if (exists $sums{$datum->[1]}) { $sums{$datum->[1]}[4] += $datum->[4]; $sums{$datum->[1]}[5] += $datum->[5]; } else { $sums{$datum->[1]} = $datum; } } my @result = map {[@{$_}[2 .. 5]]} sort {$a->[0] cmp $b->[0]} values % +sums; Dump (\@result);

Output is as shown previously - the dates are all in the same month.


DWIM is Perl's answer to Gödel