zaxo-
thanks for your reply. i know there's probably a better way to get the hash than the one i'm currently using, but the hash is there and populated appropriately. i actually used the arrayref method because of something i read here, though in all honesty i can't remember the full thought process that went behind it.
all this is beside the point. appropriate values are in the hash and in the scalar. the stuff is at work so i can't paste it in here. i'll concede that it is not inconceivable that the way i'm retrieving the hash might be affecting it's representation, thus affecting the ability of the exists function to find a value, but i think it's at least as likely that the dashes and colons in my constructed key are the source of the problem.