$dbm{'name'} = $name overwrites the previes entry # Yes, quite correct $dbm{$name'} = $name creates redundant Aaron Aaron # I don't think so. You've got bad punctuation there, what do you expect Perl to do? Perhaps you're creating a value of "Aaron" but with a key of "Aaron'" -- see quotes? $dbm{$name}; creates Useless use of DBM error # quite so. Meaningless if that's the whole statement. $dbm{$name} = ""; writes Aaron # no it doesn't, I'm betting. $dbm{$name} should be an empty string now.