in reply to hash undef?

 if (exists $time{$recordNumber}) This will tell you if it actually exists rather than whether it holds an undef or not. Defined will return false if the value contains an undef or if it just doesnt exist.

Update: Thank you Mr. Anony. I had said that Defined returns undef, which isnt accurate and even contradicts the use of the function.