in reply to Re: Summarize or Consolidate array by value?
in thread Summarize or Consolidate array by value?
Indeed, however I wonder if order counts for the OP, i.e.: should
qw/a a b c d d a/
map to
user wants? (a => 2, b => 1, c => 1, d => 2, a => 1): # or (a => 3, b => 1, c => 1, d => 2);
I guess the latter, but still preserving the input order, in which case the common technique for uniq'ing a list can be easily adapted to do it:
my %saw; my @sum=map {$_ => $saw{$_}} grep !$saw{$_}++, @array;
Now that I think of it, this can be even adapted for the former task, provided that grep's selection is improved to delete the key is it's not the same as the previous one. I'd probably chose a completely different strategy, though.
|
|---|