in reply to Odd number of elements error

A hash is initialised with a list of key-values pairs, so there must be an even number of items in the list. This error means you're trying to initialise a hash with a list that has an odd number of elements (and doesn't come from the snippet of code you posted).

my %h1 = ( 1, 2 ); # OK - same as ( 1 => 2) my %h2 = ( 1 ); # Not OK - make no sense

Is it important? I'd say it probably is. Something is happening in your data that you haven't anticipated. Go back to your data and find out what's causing the error.