Coming from a database background, I think of a hash as a row from a database table. The keys are analagous to the column names while obviously the hash values correspond to row values. When I need to deal with table data I use an array of hashes. Check out Data Structures Tutorial as well as Data Dumper for more information.