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

You've basically got it -- there are just two minor problems that are preventing you from getting the result you want. Inside your map, you name a variable $value1 in the split statement, but then use $value (not $value1) on the next line. If you used the same name, the assignment would work properly.

Also, using my inside the map means that you are declaring local versions of $key and $value that are different than the $key and $value you declare above, so you can't access them once you've left the map. You could replace your print statement with something like this, though:
print "$_ => $sorting{$_}\n" foreach keys %sorting;

(which will print all the information in the hash)