Odd number of elements in hash assignment at ...line 29. $VAR1 = { 'HASH(0x563b633597c8)' => undef, 'RED' => { 'PRICE' => 0, 'CODE' => 'code value 1', 'LABEL' => 'RED' }, 'HASH(0x563b63359750)' => 'BLUE' }; #### #!/usr/bin/perl use warnings; use strict; use Test::More; my %in = ( 1 => { PRICE => 0, CODE => 'code value 1', LABEL => 'RED' }, 2 => { PRICE => 0, CODE => 'code value 2', LABEL => 'RED' }, 3 => { PRICE => 1, CODE => 'code value 3', LABEL => 'BLUE' } ); my %out; push @{ $out{ $_->{LABEL} } }, $_ for values %in; is_deeply \%out, { RED => [ { PRICE => 0, CODE => 'code value 1', LABEL => 'RED' }, { PRICE => 0, CODE => 'code value 2', LABEL => 'RED',} ], BLUE => [ { PRICE => 1, CODE => 'code value 3', LABEL => 'BLUE', } ], }, 'same';