You are possibly messing with your $fname when you do ($fname,$lname,$age,$dep)= unpack ($pack_rules,$DATABASE{$fname}); and writing back to a different key. Why do you store they key with the data stored under they key ? Do you original derive the key in this way from the data ?
When you say "The problem is that when I look for a key existence in a hash-It gives me 2 keys" you are not making much Perl sense. To check for the existence of a key one usually1 does exists($hash{$key}) This can only return true/false, it returns no keys, not one and certainly not two :)
what do you see if you put in a print join ", " keys %DATABASE; ? Bet you don't see duplicate keys there so what are you doing to make you think you have duplicate keys ? An example of the code that you use to "look for key existence" would help a lot.
Cheers,
R.
1. I say usually because although I know no other way to check key existence I am not certain there is no other cunning trick known to the brethren
In reply to Re: Two keys with the same name in a hash.
by Random_Walk
in thread Two keys with the same name in a hash.
by sashac88
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |