
jaydstein
New User
Feb 6, 2012, 2:52 PM
Post #1 of 3
(571 views)
|
|
Hash value printing... WITH ARRAYS *dun dun dun*
|
Can't Post
|
|
I'm relatively new to perl and I'm at the point where I don't 100% understand the nitty gritty of what I am doing (but I'm trying ;) ). I'm not getting expected behavior from my code. I have a hash that contains either a scalar or an array, and I need to print, line-by-line, each value contained in a hash. Here's my code:
my $primaryFeatures = { 'foo', ('fool', 'food', 'foot'), 'bar', ('barricade'), }; while (my ($key, $value) = each(%$primaryFeatures)){ print "($key, $value)\n"; } Here's what I want: (foo, fool) (foo, food) (foo, foot) (bar, barricade) But one of the items in the array value ('fool', 'food', 'foot') is being picked up and interpreted as a key instead of a value. Here is what I am getting: (foo, fool) **(food, foot)** (bar, barricade) I've looked into the 'values' function. I could make that work... but sifting through the the keys and values for only the values is a little messy. What is the best way to do this?
|