http://www.perlmonks.org?node_id=650966


in reply to hash undef?

if (not defined $time{$recordNumber}){ ... }

You can also check with exists in hashes, the semantic is a little bit different.

Update: A bit explanation: == compares numbers, so in the expression $foo == undef the undef is promoted to 0 and compared with $foo - not what you want.