http://qs321.pair.com?node_id=347314


in reply to How to assign an array to a value in hash?

When you say $new_hash{$some_key1} = @some_array1; you are assigning to a scalar. Try
@{$new_hash{$some_key1}} = @some_array1; # extra {} are for clarity

Of course, you will need to change the @value_array assignement:

my @value_array = @{$new_hash{$_}};