#@array contains an odd number of values. my %hash = ( key => @array ); # when you meant to say: my %hash = ( key => \@array ); # or my %hash = ( key => [@array] );