in reply to Speed up my code

I doubt it will have much impact on speed, but
(exists $query{$item}) ? ($query{$item}=$query{$item}+1) : ($query +{$item}=1);
is more simply written as
$query{$item}++;
Did you profile your code (see perldoc perlrun)?