my %sum_of; while () { my ($k, $v) = split /,/; $sum_of{$k} += $v; } print "$_,$sum_of{$_}\n" for sort keys %sum_of; __DATA__ 2010-02-12_aaa,654 2010-02-12_aaa,248 2010-02-12_bbb,374 2010-02-12_ccc,158 2010-02-13_aaa,745 2010-02-13_bbb,786 2010-02-13_bbb,354 2010-02-13_ddd,852 2010-02-14_bbb,754 2010-02-14_aaa,169 2010-02-14_ccc,965 2010-02-14_ccc,756