in reply to Can someone explain this error?

As physi said, you should post your code to help us help you.

But I'll help you anyway.

my %hash = ( 1 , 2 , 3 );
If you're using #!/usr/bin/perl -w then you will the warning (not error) that you are asking about. It's basically saying that you are not giving a value for $hash{3}, so it will be undefined.

-FrankG