Your output from Dumper is invalid -- you should be able to take the results, and send it to 'eval', which results in Odd number of elements in hash assignment. You'd probably want to use a hash of arrays --
use Data::Dumper;
my %fruits=();
my @arr = ([1,1],[1,2],[3,5],[6,7]);
for (@arr)
{
push @{$fruits{$_->[0]}}, $_->[1];
}
print Dumper(\%fruits);