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?
In reply to Hash value printing... WITH ARRAYS *dun dun dun* by jaydstein
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |