Fixed in RHEL4. Turns out the problem was not that we needed to clear the key_list hash, but that the get_key_list subroutine did not correcntly declare the key_list. Because Perl does dynamic scoping, the undeclared key_list variable was assumed to be global. The result is/was that the key_list hash was never getting updated correctly. Simple, one line fix.