in reply to null keys

You are not using NULL keys (whatever those are) in your example but empty strings. Also, it's very easy to put empty strings in arrays:

my @array = ('a','','b',''); print "'$_'\n" for @array;
Other then that - I don't understand what your question is. Please show us some code that doesn't work, maybe we can help you with that. :-)
-- Joost downtime n. The period during which a system is error-free and immune from user input.