##
use warnings;
use strict;
use Data::Dumper;
my %h;
while (){
my ($total, $revenue) = split;
$h{$total} += $revenue;
}
print Dumper \%h;
__DATA__
3 555
4 962
3 1
3 1064
5 19
17 8
45 -1
##
##
$VAR1 = {
'5' => 19,
'3' => 1620,
'45' => -1,
'4' => 962,
'17' => 8
};