What I've had to do in such cases is to set a
breakpoint with the condition.
e.g. if I have
%hash=(1,2,3,4);
while (1) {
print "Something...\n";
===cut===
}
you can put in
b 3 $hash{1} ne 2
In a real scenario you may need to run to after %hash is populated to find out what the value is