in reply to Re: Long list is long
in thread Long list is long

This line:

/^(.*)\t(.*)$/ && $f{ $1 } += $2;
won't compile ("Can't modify logical and (&&) in addition (+)"). Of course, it should read:
/^(.*)\t(.*)$/ and $f{ $1 } += $2;
Apart from that, I believe your code is correct -- and a big improvement on the OP's original code (which I couldn't look at without putting on sunglasses ;-).