in reply to Having trouble loading a hash with map

The issue is scalar vs. list Context. Since the second argument to split is expected to be a scalar, only one line is read and then treated. You can get around this by moving to a slurp (local $/;, see $/).

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.