print scalar(keys %auto_picks), "\n"; while (my $line = <$sub_fh>) { my @data = split /\t/, $line; if (exists $auto_picks{$data[0]}{$data[1]}) { $auto_picks{$data[0]}{$data[1]} -= $data[2]; if ($auto_picks{$data[0]}{$data[1]} <= 0) { delete $auto_picks{$data[0]}{$data[1]}; if (!keys %{$auto_picks{$data[0]}}) { delete $auto_picks{$data[0]}; } } } } print scalar(keys %auto_picks), "\n";